Php Dosya ve Dizin işlemleri

Sizlere bu makalemizde Php’de dosya ve dizin işlemlerinden detaylı bir şekilde bahsedeceğiz. Php ile sunucu tarafında dosya, dizin işlemlerine ihtiyaç duyabileceğiniz durumlar olabilir. Geniş kapsamlı bir içerik yönetim sistemi, e-ticaret sistemi veya bir script yazıyor olabilir, burada dosya ve dizin konularında kullanımlar yapmanız gerekebilir.

Dosya nedir? : Bilgisayarda bulunan bilgi kümeleridir. Bunlar iş dosyaları veya kişisel özdeş bilgiler olabilir. Örnek olarak; Resimler, Microsoft Office word, exel, power point dökümanları, kodladığımız php, html, css belgeleri, not defteri belgeleri vs… bunların hepsi birer dosyadır.

Dizin Nedir? : Dizin hepinizin bildiği klasör’lerdir. Bilgisayardan bulunan bütün klasörlerin bir diğer adı “dizin” dir.

Dosya, Klasör var mı? kontrolü : Bir dosyanın veya klasörün var olup olmadığını kontrol etmemize yarayan fonksiyonumuz file_exist(); fonksiyonudur. Uygulamalı olarak sizlere gösterelim.

$file = "dosya.txt";

if(file_exist($file)){
    echo "Dosya Var";
} else {
    echo "Dosya Yok";
}

Fonksiyonu aynı şekilde klasör (dizin) içinde şu şekilde kullanabiliriz.

$dir = "klasör";

if(file_exist($dir)){
    echo "Klasör Var";
} else {
    echo "Klasör Yok";
}

Bunu çalıştırdığımızda, eğer “klasör” isminde bir klasör var sa ekrana “Klasör Var”, yok ise ekrana “Klasör Yok” yazacaktır.

Dosya mı? Klasör mü? kontrolü: Belgenin dosyamı dizinmi olduğunu öğrenmek için kullanacağımız 2 (iki) fonksiyonumuz bulunuyor. Bunlardan bir tanesi is_file(); fonksiyonudur.

$path = "Belgenin Yolu";

if(is_file($path)){
    echo "Dosya";
}

is_file(); fonksiyonumuz, belgenin dosya mı? olup olmadığını kontrol eder. Yukarıdaki sorgumuzda eğer dosyaysa ekrana “Dosya” yazdırdık. Eğer dizin mi değil mi? bunu sorgulamak istiyorsak is_dir(); fonksiyonumuzu kullanıyoruz.

$path = "Belgenin Yolu";

if(is_dir($path)){
    echo "Dizin";
}

Eğer sorgulattığımız belge klasör çıkarsa ekrana “Dizin” yazdırıyoruz.

Php klasör oluşturma: Php’de klasör oluşturmak için kullanacağımız kodumuz mkdir(); fonksiyonudur. Mkdir fonksiyonu ve yetki parametresini şu şekilde kullanıyoruz.

$dizin_adi = "upload";

$olustur = mkdir ($dizin_adi, 0775);
if($olustur){ echo "Başarılı Şekilde Klasör Oluşturuldu."; }

Yukarıda “upload” isminde bir klasör oluşturduk ve klasörün yetkilerini “775” yaptık. Bu “upload” klasörü olacağı için muhtemelen php ile buraya resim veya başka dosyalar yüklenecektir. Yükleme’de sorun olmaması için izinleri açtım. Siz bunu kendinize göre düzenleyebilirsiniz.

Php klasör silme : Php’de klasör silmek için rmdir(); fonksiyonundan yararlanacağız. Bu kodumuz klasörün içi boş ise silecektir. Yani klasörün içinde dosyalar var ise, öncelikli olarak klasörün içindeki dosyaları silip daha sonra klasörü sileceğiniz.

$dir = "deneme";

if(rmdir($dir)){
    echo "Başarılı Şekilde Silindi";
} else { echo "Silinemedi"; }

Silme işlemi olumlu tamamlanırsa ekrana “Başarılı şekilde silindi” yazacaktır. Aksi taktirde ekrana “Silinemedi” yazacaktır.

Php dosya oluşturma : Php dosya oluşturmak için touch(); kodunu kullanacağız ve örnek kullanımı şu şekildedir.

$dosya_adi = "hit.txt";

$olustur = touch($dosya_adi);
if($olustur){ echo "Başarılı Şekilde Oluşturuldu"; }
else { echo "Oluşturulamadı"; }

Yukardaki kodumuzda hit.txt isminde bir dosya oluşturduk. Eğer işlem olumlu şekilde tamamlanırsa ekrana “Başarılı şekilde oluşturuldu” yazacaktır. Durumun olumsuz olması halinde ise “Oluşturulmadı” yazacaktır.

Php dosya silme : Dosya silme işlemi için unlink(); fonksiyonunu rahatlıkla kullanabiliriz. Örnek kullanım şu şekildedir.

$dosya_adi = "hit.txt";

$sil = unlink($dosya_adi);
if($sil) { echo "Dosya başarılı bir şekilde silindi."; }

hit.txt dosyasının silme işlemi başarılı olduğu zaman ekrana “Dosya başarılı bir şekilde silindi” yazacaktır.

Php dosyaya veri yazdırma : Php’de bir dosya oluşturup, içine istediğimiz verileri yazmamız mümkündür. Bunun için şu şekilde bir kullanım yapacağız.

$dosya_url = "belgeler/yazdir/hit.txt";
$hit = "20";
$dosya_ac = fopen($dosya_url, 'w') or die ("Yetkileri kontrol edin");
fwrite($dosya_ac,$hit);
echo "Yazdırma işlemi tamamlandı";
fclose($dosya_ac);

Yukardaki kodumuzda şu konuma “belgeler/yazdir/hit.txt” isminde bir dosya oluşturuldu ve hit.txt dosyamızın içine “20” yazdırdık. Yani eğer hit’imiz başka bir değerse içine onu yazacaktır. Burada kullandığımız “w” yazdırırken eskisini içinden sil, yenisini ekle anlamındadır. Eğer ki ard arda yazdırmak istiyorsanız orada “a” kullanmalısınız.

Şimdilik bu kadar makalemizi ilerleyen zamanlarda dahada detaylandıracağız.

Translate »