PHP’de dosya sistemi işlevleri sayesinde yeni dosyalar oluşturabilecek, olan dosyaları değiştirebilecek ya da silebileceğiz. Bu işlemler sayesinde PHP dosya oluşturabilir ve silebiliriz ve file management(dosya yönetimi) gibi uygulamalar yapabiliriz.

Dosya Oluşturmak

Olmayan dosyayı oluşturup, değiştirip, çalıştırmamız için touch() adında bir fonksiyon ile tanışacağız. Türkçe anlamı dokunmak olan bu fonksiyon PHP’de dosyalara ilk dokunuşu yapmaya ya da eğer dosya varsa son değişim tarihini değiştirmeye yarıyor.

Kullanımı basit, bir parametre ile çalışıyor. Parametresine oluşturulacak dosya adını giriyoruz.

touch('pratikkodlar.txt');

Yukarıdaki kod çalıştığında kaynak PHP dosyasının olduğu dizinde pratikkodlar.txt adında boş bir dosya oluşturur.

Dosyaları Açmak ve Kapatmak

Dosyaların içeriğini okuyup, değiştirip, silmeden önce onları PHP’de açmamız gerekiyor. Bu açma işlemi okumak anlamında anlaşılmasın. Gerekli işlemleri yapmaya başlamadan önce dosyaya ilk erişimi ve bağlantıyı sağlamak anlamında açmaktır.

Bu erişimi fopen() fonksiyonu ile yapacağız. Bu fonksiyon iki parametre ile çalışıyor. İlk parametrede erişeceğimiz dosyayı, ikinci parametrede ise dosyayı ne için eriştiğimizi belirtecek kipi giriyoruz.

Dosyalara ne için erişeceğimizi belirtmemizi sağlayacak 8 tane kip var. Bu kipleri aşağıda açıklamalarıyla gösterelim:

Şimdi bu yukarıdaki dosya kipleri ile istediğimiz dosyaya istediğimiz muameleyi görebiliriz.

Dosyalar ile gerekli işlemleri gerçekleştirdikten sonra onları kapatmayı unutmamalıyız. Eğer kapatmazsak bir sonraki dosyaya erişimimizde sorunlarla karşılaşabiliriz. Dosyaları kapatmak için fclose() fonksiyonunu kullanacağız.

Bu fonksiyon bir parametre ile çalışır ve açtığımız dosyayı kapatır. Parametresine fopen ile açtığımız dosyanın değişkeni yazarız.

$dosya = fopen('pratikkodlar.txt', 'r');
fclose($dosya);

Yukarıdaki örnekte pratikkodlar.txt dosyasını okumak için açmış ve ilk erişimi sağlamış olduk ve hemen ardından da kapattık. Sadece erişimi sağlamak ile içeriğe ulaşdığımızı sanmayın. Bağlantıyı sağladıktan sonra diğer okuma ve yazma fonksiyonlarını kullanarak gerekli işlemleri gerçekleştireceğiz.

Dosyaların İçeriğini Okuma

Bu işlemi gerçekleştirmek için fopen()‘da r kipini, içeriğe ulaşmak için ise fread() fonksiyonu kullanacağız.

Bu fonksiyonun ilk parametresine önceden fopen ile açtığımız dosyanın değişkenini yazacağız. İkinci parametreye ise dosyadan kaç bayt okuyacağımızı belirteceğiz.

$dosya = fopen('pratikkodlar.txt', 'r');
$icerik = fread($dosya, filesize('pratikkodlar.txt'));
echo $icerik;
fclose($dosya);

Şuan eğer pratikkodlar.txt dosyamızın içerisinde bir şeyler varsa ekranda aynen olduğu gibi yazacaktır. Eğer boş ise ekranda bir şey yazmayacaktır.

Dosyanın tüm içeriğini okumak istediğimiz için ikinci parametreye filesize() fonksiyonu ile dosyanın toplam boyutunu belirterek tüm içeriği almayı sağladık.

Dosyalara Yazma

Dosya yazmak için w kipini ve fwrite() fonksiyonunu kullanacağız. Yanlız w kipini kullanırken eriştiğimiz dosyanın içeriği tamamen silinir ve yazacağımız değer ile değiştirilir.

Eğer daha önce var olan içerik kaybolmadan yazmak istiyorsan o zaman a kipini kullanman gerekecek.

Bu fonksiyonda iki parametre ile çalışıyor. İlk parametreye dosyaya fopen() ile eriştiğimiz değişkeni, ikinci parametreye ise yazılacak içeriği yazarız.

$dosya = fopen('pratikkodlar.txt', 'w');
fwrite($dosya, 'Merhaba Uzay');
fclose($dosya);

Yukarıdaki örneği çalıştırdığımızda pratikkodlar.txt adında dosyamızın içeriğine Merhaba Uzay yazmış olduk.

Bir başka örnek daha verelim:

for($sayi = 1; $sayi < 4; $sayi++) {
   $dosya_adi = 'pratikkodlar' . $sayi . '.txt';
   touch($dosya_adi);
    
   $dosya = fopen($dosya_adi, 'w');
   fwrite($dosya, 'Bu ' . $sayi . '. dosyanın içeriği!');
   fclose($dosya);
}

Bu örnekte tam 3 tane txt dosyası (pratikkodlar1.txt, pratikkodlar2.txt, pratikkodlar3.txt) oluşturup her birinin içerisine “Bu 1. dosyanın içeriği” şeklinde içerik eklemiş olduk.

Dosyaları Silme

Dosya oluşturma fonksiyonunun zıttı olarak göreceğimiz unlink() fonksiyonu ile istediğiniz dosyayı yok edebilirsiniz.

Kullanımı oluşturma fonksiyonu gibi basit ve tek parametreli.

unlink('pratikkodlar.txt');

Diğer örneklerde üzerinde çalıştığımız pratikkodlar.txt dosyasını siler.

Dosyaların Varlığını Kontrol Etmek

Dosyaların varlığından haberdar olmak, eğer varsa değiştirmek yoksa oluşturmak gibi işlemler yapmak için file_exists fonksiyonunu kullanacağız.

Parametresine gireceğimiz dosya adında bir dosya mevcut ise TRUE değil ise FALSE dönecektir. Hemen örnek ile gösterelim:

if(file_exists('pratikkodlar.txt')) {
   echo 'Dosyamız var';
} else {
   echo 'Dosyamız yok';
}

Bir önceki konuda pratikkodlar.txt dosyasını sildiğimiz için FALSE dönecektir ve ekranda Dosyamız yok yazacaktır.

Bir sonraki dersimizde PHP Dizin İşlemlerine bakcağız

 

Yorumlar

Yorum Yapılmamış.

Yorum Yaz

Bilgini paylaşarak insanlara faydalı olmak istiyorsan bizimle iletişime geç.