PHP İle Dosya İşlemleri Notları

PHP İle Dosya İşlemleri Notları

PHP İle Dosya İşlemleri Notları sayfamızda dosya açma, okuma, yazma ve silme işlemlerinin nasıl yapıldığına dair bilgi bulabilirsiniz PHP öğrenmek isteyenler için faydalı bir kaynak!
Translation: On our page about PHP İle Dosya İşlemleri Notları, you can find information on how to open, read, write and delete files It is a useful resource for those who want to learn PHP!

PHP İle Dosya İşlemleri Notları

PHP, programlama dilleri arasında en sık tercih edilen dillerdendir. Dosya işlemleri de PHP ile kolayca yapılabilmektedir. Ancak, dosya işlemleri hakkında yeterli bilgiye sahip olmadan işlem yapmak, büyük hatalara yol açabilir. Bu nedenle, PHP ile dosya işlemleri hakkında bilgi sahibi olmak önemlidir.

Bu rehber, PHP ile dosya işlemleri hakkında detaylı bilgi vermek için hazırlanmıştır. Dosya oluşturma, dosya okuma ve yazma, dosya düzenleme ve silme işlemleri gibi konulara açıklık getirilmektedir. Bu rehber sayesinde, PHP ile dosya işlemleri yapmak daha kolay hale gelecektir.


Dosya Oluşturma

PHP ile dosya oluşturma işlemi oldukça basittir ve birkaç farklı yöntemle yapılabilir. İlk olarak, fopen() fonksiyonu kullanılarak dosya oluşturulabilir. Bu fonksiyon, bir dosyayı açmak için kullanılır ve ikinci parametresine w, a veya x gibi bir mod belirtildiğinde dosya belirtilen moda göre oluşturulur.

ModAçıklama
wDosyayı yazmak için açar. Dosya yoksa oluşturulur, varsa içeriği silinir.
aDosyayı yazmak için açar. Dosya yoksa oluşturulur, varsa içeriğe ekleme yapar.
xDosyayı yazmak için açar. Dosya yoksa oluşturulur, varsa hata verir.
Örneğin, aşağıdaki kod kullanılarak "yeni_dosya.txt" isimli bir dosya oluşturulabilir:
Bu kod, yeni_dosya.txt isimli bir dosya oluşturur ve daha sonra dosyayı kapatarak işlemi tamamlar.Ayrıca, file_put_contents() fonksiyonu kullanılarak da dosya oluşturulabilir. Bu fonksiyon, belirtilen dosya adına ve içeriğe sahip bir dosya oluşturur. Örneğin:
Bu kod, yeni_dosya.txt isimli bir dosya oluşturur ve dosyanın içeriği "Bu dosya içeriği ile oluşturuldu." olarak belirlenir.


Dosya Okuma ve Yazma

PHP programlama dili, dosya işlemleri yapmanızı sağlayan bir dildir. Bu işlemler arasında dosya okuma ve yazma da yer almaktadır. Dosya okuma işlemi, bir dosyanın içeriğini okuyarak kullanıcıya sunar. Dosya yazma işlemi ise, bir dosyaya içerik eklemeyi sağlar.

PHP ile dosya okuma ve yazma için birçok fonksiyon mevcuttur. Bunlardan bazıları şunlardır:

  • fopen() : Bir dosyayı açmak için kullanılır.
  • fread() : Bir dosyanın içeriğini okumak için kullanılır.
  • fwrite() : Bir dosyaya yazmak için kullanılır.
  • fclose() : Bir dosyayı kapatmak için kullanılır.

Dosyalar okunabilir ve yazılabilir. Bir dosyayı okumak için fopen() fonksiyonu kullanılır. Bu fonksiyon ile bir dosya açılır ve fopen() fonksiyonundan dönen değer ile dosya içeriği okunabilir. Dosya yazmak için de fwrite() fonksiyonu kullanılır. Bu fonksiyon ile bir dosyaya veri yazılabilir.

Örneğin, fopen() fonksiyonu ile "ornek.txt" isimli bir dosya açıp, dosya içeriğini okuyalım:

Dosya İsmi Dosya İçeriği
ornek.txt PHP dosya işlemleri öğreniyorum.

Aşağıdaki örnek kodda, fopen() fonksiyonu ile "ornek.txt" dosyası açıldı ve okuma modunda kullanıldı.

<?php$file = fopen("ornek.txt", "r");echo fread($file, filesize("ornek.txt"));fclose($file);?>

Bu kodu çalıştırdığımızda, "ornek.txt" dosyasının içeriği ekranda gösterilecektir.

Dosya yazmak için fwrite() fonksiyonu kullanılır. Bu fonksiyon ile bir dosyaya veri yazılabilir. Aşağıdaki örnek kodda, fwrite() fonksiyonu kullanılarak "ornek.txt" dosyasına veri yazıldı.

<?php$file = fopen("ornek.txt", "w");$txt = "Merhaba, PHP!\n";fwrite($file, $txt);fclose($file);echo "Yazma işlemi başarılı.";?>

Bu kodu çalıştırdığımızda, "ornek.txt" dosyasına "Merhaba, PHP!" yazısı eklenir ve ekrana "Yazma işlemi başarılı." mesajı görüntülenir.


Dosya Okuma

Dosya işlemleri, PHP programlama dili ile yapılan en temel işlemlerden biridir. Dosyalardaki verilere erişmek, içeriklerini okumak, değiştirmek veya silmek gibi işlemler için kullanabileceğiniz farklı yöntemler vardır.

PHP ile dosya okuma işlemi, dosyanın boyutuna, tipine ve içerdiği verilere göre farklı yöntemlerle gerçekleştirilebilir. Dosya okuma işlemi yapmak için "fopen" fonksiyonu kullanılır. Bu fonksiyon, bir dosyayı okumak için açar ve bir dosya işaretçisi döndürür. Bu işaretçi kullanarak dosyanın içeriği okunabilir.

Dosya okuma işlemi yaparken, dosyanın tamamını okumak veya satır satır okumak gibi farklı yöntemler vardır. "fgets" fonksiyonu, dosyayı satır satır okumak için kullanılırken, "fread" fonksiyonu, dosyanın tamamını okumak için kullanılır.

Farklı okuma yöntemleri aşağıdaki örnekte verilmiştir:

Yöntem Açıklama Örnek Kod
Satır satır okuma Dosyanın içeriğini satır satır okumak için kullanılır
$dosya = fopen("ornek.txt", "r");while(!feof($dosya)) {  $satir = fgets($dosya);  echo $satir."
";}fclose($dosya);
Tüm dosyanın okunması Dosyanın tamamını okumak için kullanılır
$dosya = fopen("ornek.txt", "r");$icerik = fread($dosya, filesize("ornek.txt"));echo $icerik;fclose($dosya);

Yukarıdaki örnek kodlarda, "fopen" fonksiyonu kullanılarak dosya açılır ve dosya işaretçisi döndürülür. Sonrasında, "fgets" veya "fread" fonksiyonları kullanılarak dosya okunur. Okuma işlemi tamamlandıktan sonra, dosya kapatılır.

Dosya işlemlerinde, dosyaların doğru şekilde açılıp kapatıldığından emin olmak önemlidir. Dosya işaretçisi kullanılarak dosya okunurken, aynı zamanda dosyanın sonuna gelip gelinmediği de kontrol edilmelidir. Bu kontroller yapılmazsa, dosyanın sonuna gelinmediğinde sonsuz döngülere neden olabilir.


Satır Satır Okuma

Bazı durumlarda, bir dosyanın içeriğini bir satır atlamadan teker teker okumanız gerekebilir. Bu durumda kullanabileceğiniz yöntemler aşağıdaki gibidir:

  • fgets(): Bu fonksiyon, belirtilen dosyanın bir sonraki satırını okur ve bir dize olarak döndürür. Okunan satır, içinde bulunduğu satır işaretçisi (imleç) tarafından işaretlenir ve bir sonraki çağrıda okunacak satır işaretçisi bir sonraki satıra ilerler. Örnek kod aşağıdaki gibidir:
  • $dosya = fopen("ornek.txt", "r");
    while(!feof($dosya)) {
    $satir = fgets($dosya);
    echo $satir;
    }
    fclose($dosya);
  • fgets(): Bu fonksiyon, belirtilen dosyanın bir sonraki satırını okur ve bir dize olarak döndürür. Okunan satır, içinde bulunduğu satır işaretçisi (imleç) tarafından işaretlenir ve bir sonraki çağrıda okunacak satır işaretçisi bir sonraki satıra ilerler. Örnek kod aşağıdaki gibidir:
  • $dosya = fopen("ornek.txt", "r");
    while(!feof($dosya)) {
    $satir = fgets($dosya);
    echo $satir;
    }
    fclose($dosya);

Bu yöntemler sayesinde bir dosyanın içeriğini satır satır okuyabilirsiniz.


Tüm Dosyanın Okunması

Dosyanın tamamını okumak için, file_get_contents() fonksiyonu kullanılır. Bu fonksiyon bir dosyanın tamamını okuyup, bir değişkene atar. Bu değişken daha sonra işlem yapmak için kullanılabilir. Aşağıdaki kod örneği, 'example.txt' dosyasının tamamını okur ve ekrana yazdırır:

$file = file_get_contents('example.txt');echo $file;

Bir diğer yöntem ise, fread() fonksiyonunu kullanmaktır. Bu fonksiyon dosyanın belirli bir boyutta okunmasına izin verir. Bu boyut, fonksiyona verilen ikinci parametre ile belirlenir. Daha sonra, dosyanın geri kalanı tekrar fonksiyon kullanılarak okunabilir. Aşağıdaki örnek kodda, 'example.txt' dosyasının tamamı fread() fonksiyonu kullanılarak okunur:

$file = fopen('example.txt', 'r');$size = filesize('example.txt');$content = fread($file, $size);fclose($file);echo $content;

Yukarıdaki örnekte 'r' parametresi, dosyanın sadece okunabileceğini belirtir. Eğer dosyayı hem okuyup hem de yazmak isterseniz 'r+' parametresini kullanabilirsiniz. Ayrıca, dosyaların büyük olması durumunda okuma işlemi yavaşlayabilir. Bu durumda, özellikle büyük dosyaların okunmasında kullanılmak üzere birkaç farklı yöntem vardır. Bunlardan biri, fread() fonksiyonunu bir döngü içinde kullanmaktır. Daha büyük bir boyut vererek, daha fazla verinin birden okunması da mümkündür. Ancak, bu yöntemde de bellek sorunları yaşanabilir. Bu durumda, fgets() fonksiyonunu kullanarak satır satır okuma yapmak tercih edilebilir.

  • file_get_contents() fonksiyonu, bir dosyanın tamamını bir değişkene atamak için kullanılır.
  • fread() fonksiyonu, dosyanın belirli bir boyutta okunmasına izin verir.
  • Dosyaların büyük olması durumunda, okuma işlemi yavaşlayabilir ve bellek sorunları yaşanabilir. Bu durumda, fread() fonksiyonunu döngü içinde kullanmak veya fgets() fonksiyonunu kullanmak tercih edilebilir.

Dosya Yazma

PHP ile dosya yazmak, verileri dosyanın sonuna veya başına eklemek için kullanılabilir. Her ikisi de kullanıcıya bir dosyanın içeriğinde değişiklik yapma imkanı verir.

Dosya yazmanın en temel fonksiyonu "fwrite()"'dir. Bu fonksiyon, belirtilen dosyaya belirtilen verileri yazar. Örneğin:

Dosya İsmi Dosya İçeriği
testDosyasi.txt Merhaba Dünya!

Yukarıdaki örnekte, dosya ismi "testDosyasi.txt"dir ve içeriği "Merhaba Dünya!"dır. Aşağıda ise "fwrite()" fonksiyonuna örnek verilmiştir:

  • Dosya Sonuna Veri Yazma:

    Dosyaya veri eklemek için, dosyayı "a" modunda ("a" karakteri dosyaya veri ekleyeceğimizi söyler) açmanız gerekmektedir. Aksi halde dosyayı sıfırlayabiliriz. Aşağıdaki örnek verileri dosyanın sonuna ekleyecektir:

          $dosya = fopen("testDosyasi.txt", "a");      fwrite($dosya, "\nEklenen Veri");      fclose($dosya);    

    Bu kod, "testDosyasi.txt" dosyasının sonuna "\n Eklenen Veri" ekler.

  • Dosya Başına Veri Yazma:

    Dosyaya veri eklemenin bir diğer yolu da dosyanın başına veri eklemektir. Bunu yapmak için, "w+" modunu kullanabilir ve daha sonra dosyanın sonuna eklemek istediğimiz verileri yazabiliriz. Aşağıdaki örnek, dosyanın başına "\n Başa Eklendi" yazacaktır.

          $dosya = fopen("testDosyasi.txt", "w+");      fwrite($dosya, "Başa Eklendi\n" . file_get_contents("testDosyasi.txt"));      fclose($dosya);    

Yukarıdaki örnekler, PHP'de dosya yazmanın basit bir yansımasıdır. Dosya yazmanın daha karmaşık yolları da vardır, ancak "fwrite()" işlevi birçok ihtiyacı karşılayabilir.


Dosya Düzenleme ve Silme

Dosya işlemleri arasında dosya düzenleme ve silme işlemleri de vardır. PHP ile bu işlemleri kolayca gerçekleştirebileceğiniz birkaç farklı fonksiyon vardır. Bunlardan biri "file_put_contents ()" fonksiyonudur. Bu fonksiyon bir dosyanın içeriğini değiştirmenizi sağlar. Aşağıdaki örnekte dosyanın içeriğinin "Merhaba Dünya!" dan "Merhaba PHP!" olarak değiştirilmesi gösterilmiştir.

Dosya İsmi Dosya İçeriği Değiştirilmiş İçerik
ornek.txt Merhaba Dünya! Merhaba PHP!

$file = "ornek.txt";file_put_contents($file, "Merhaba PHP!");

Dosya silme işlemi yapmak için "unlink()" fonksiyonu kullanılır. Bu fonksiyon, belirtilen dosyayı siler. Aşağıdaki örnekte, "ornek.txt" isimli dosya silinmektedir.

$file = "ornek.txt";if (!unlink($file)) {  echo "Dosya silinemedi!";}else {  echo "Dosya silindi!";}

Bu fonksiyonu kullanırken dikkatli olmanız gerektiğini unutmayın. Yanlışlıkla önemli bir dosyayı silebilirsiniz ve geri alamayabilirsiniz. Dosya düzenleme ve silme işlemleri, dosya işlemleri arasında en hassas olanlardır. Bu nedenle, bu fonksiyonları kullanırken çok dikkatli olmanız ve doğru dosyayı seçtiğinizden emin olmanız gerekir.


Dosya Düzenleme

PHP programlama dili ile bir dosyanın içeriğini düzenlemek için birçok farklı fonksiyon bulunmaktadır. Bu fonksiyonlar, dosyanın içeriğini okuma, silme, ekleme veya değiştirme işlemlerini yapmak için kullanılabilir.

Örneğin, dosya içeriğinin değiştirilmesi için "fputs()" fonksiyonu kullanılabileceği gibi, dosya içeriğinin sonuna veri eklemek için "fwrite()" fonksiyonu kullanılabilir. Ayrıca, "file_get_contents()" fonksiyonu ile de dosyanın içeriği okunarak değiştirilebilir.

Aşağıda, dosya içeriğinin düzenlenmesi için kullanılabilecek PHP fonksiyonlarının örnek kodları yer almaktadır:

  • fgets(): Dosyadan bir satır okur
  • fgetc(): Dosyadan bir karakter okur
  • fwrite(): Dosyaya veri yazar
  • fputs(): Dosyaya veri yazar
  • file_put_contents(): Dosyaya veri yazar
  • file(): Dosyanın içeriğini dizi olarak döndürür
  • file_get_contents(): Dosyanın içeriğini okur
  • str_replace(): Bir karakter dizisi içindeki belirtilen değerleri değiştirir

Ayrıca, dosya içeriğinin düzenlenmesi için kullanılan fonksiyonlar farklı parametreler alabilirler. Bu parametreler, dosya işlemi sırasında hangi verilerin okunacağı veya dosyaya yazılacağı gibi özellikleri belirlemek için kullanılır.

Dosya içeriğinin düzenlenmesi işlemi, kolaylıkla yapılabilecek bir işlem olmakla birlikte, dikkatli olunması gereken bir işlemdir. Yanlış kod yazımı veya hatalı parametre kullanımı, dosyanın içeriğinin tamamen kaybolmasına veya bozulmasına sebep olabilir. Bu nedenle, dosya düzenleme işlemi yapmadan önce mutlaka yedekleme yapılması ve kodların dikkatli bir şekilde kontrol edilmesi gerekmektedir.


Dosya Silme

Dosya silme işlemleri, bazen gerekli olabilir. PHP ile dosya silmenin birden fazla yöntemi vardır. Bunlardan birisi unlink() fonksiyonudur. Bu fonksiyon, belirtilen dosyayı siler. Öncelikle silinecek dosya yolunu bildirmeliyiz. Bunun için değişken veya sabit kullanabiliriz.

Örnek kod kullanarak daha açıklayıcı olabiliriz. Aşağıdaki örnekte, önce dosya yolu belirtilip, dosyanın var olup olmadığı kontrol edilir. Eğer dosya varsa, unlink() fonksiyonu kullanılarak dosya silinir.

$file_path = "dosya.txt";if (file_exists($file_path)) {   unlink($file_path);   echo "Dosya silindi.";} else {   echo "Dosya bulunamadı.";}

Dosya silme işlemi tamamlandığında, "Dosya silindi." mesajı görüntülenir. Eğer belirtilen dosya yoksa, "Dosya bulunamadı." mesajı gösterilir.

Buna ek olarak, rmdir() fonksiyonu kullanarak dizinleri de silebiliriz. Ancak, bu yöntem dosyaların değil, yalnızca boş dizinlerin silinmesini sağlar. Bu nedenle, dosya silmek için unlink() fonksiyonu daha uygun bir seçenektir.

Bu işlemler gerçekleştirilirken, dosyanın silinmesine sebep olan durumlar da göz önünde bulundurulmalıdır. Dosyanın veya dizinin içinde önemli veriler yer alıyorsa, silme işleminden önce bu veriler yedeklenmelidir. Ayrıca, izinler ve erişim hakları da doğru ayarlanmalıdır. Bu sayede yanlışlıkla dosya silme işlemi önlenmiş olur.

PHP ile dosya işlemleri hakkında bilgi sahibi olmak, web uygulamalarının geliştirilmesinde oldukça önemlidir. Dosya silme işlemlerinin yanı sıra, dosya oluşturma, okuma, yazma ve düzenleme işlemleri de yapılabilmektedir. Bu işlemler, web uygulama geliştiricilerine ve veri tabanı işlemleri gerçekleştirenlerin işlerini kolaylaştırır, daha verimli hale getirir.