İnternet, bilgi, bilişim güvenliğine dair her türlü karalamalara sahiplik yapan kişisel bir blog.

PHP ile Klasör ve Dosya İşlemleri

Bu makalemizde PHP ile dosyalar ve klasörler üzerinde nasıl işlemler yapabiliriz onları göreceğiz.

Dosya veya Klasör varmı yokmu kontrolü

Bir klasörün veya dosyanın var olup olmadığını kontrol eden fonksiyonumuz file_exists(), dosya varsa true/doğru, yoksa false/yanlış değerini döndürür.

Bu kodları test ettiğiniz dizinde deneme isimli klasör varsa ekranda “Klasör var.” yoksa “Klasör yok.” yazacaktır. Aynı şekilde klasör yerine index.php gibi dosya ismini yazarsak varlığını kontrol edebiliriz.

Örnek

Dosya mı, dizin mi? is_file() ve is_dir()

Bazen dosyalar uzantısız şekilde klasör gibi adlandırılabilir. Bu gibi durumlarda sorguladığımız nesnenin klasörmü yoksa dosya mı olduğunu is_file() ve is_dir() fonksiyonları ile anlarız. Üstteki kodları test ettiğimizde dizindeki test isimli nesnenin klasör mü yoksa dosya mı olduğu ekrana yazdırılacaktır.

Klasör oluşturma

Klasör oluşturma için mkdir() fonksiyonunu kullanılır. Oluşturulan Klasörün izin yetkisi parametre kısmında belirtilir. Varsayılan değer 0700‘dür. Örneğimizde Klasörün var olup olmadığını file_exists() ile kontrol ettik. Burada exit() adlı yeni bir fonksiyon kullandık. Kodlarda da belirttiğim gibi bu fonksiyonun görevi işlemi durdurmak, oluşturmak istenilen klasör adına sahip bir dosya varsa işlem durduruluyor. klasör daha önce oluşturulmuşsa ekrana “Klasör zaten var!” yazdırdık. Eğer klasör yoksa mkdir fonksiyonu ile oluşturmasını sağladık. Son olarak klasörün oluşturulma durumunu ekrana yazdırdık.

Klasör silme

Klasör silmek için rmdir(“silinecek_klasor”) fonksiyonu kullanılır.

Dosya oluşturma işlemi

Yeni bir dosya oluşturmak için Php’nin touch() fonksiyonu kullanılır.

Dosyaya veri yazdırma

Dosyayı açmak için fopen(), veri yazdırma işlemi için fwrite() ve dosya ile işimiz bittiğinde kapatma işlemi için fclose() fonksiyonu kullanılır.

Dosyadan veri okuma

Dosyadan veri okumak için öncelikle fopen() fonksiyonu ile dosyamızı açarız. fopen() fonksiyonunda ilk parametrede dosya yolu, ikinci parametrede dosyaya erişim izni belirtilir. Son olarak while döngüsü yardımı ile txt dosyasındaki veriler ekrana yazdırılır.

fopen() Fonksiyonunda Kullanılan Parametreler

r Sadece okuma işlemleri için erişim sağlar. İmleç dosyanın başına taşınır.
r+ Okuma ve yazma işlemleri için erişim sağlar. İmleç dosyanın başına taşınır.
w Sadece yazmak için erişim sağlar. Eğer dosya yoksa yeni bir dosya oluşturur ve dosyada veri varsa sıfırlar. İmleç dosyanın başına taşınır.
w+ Okuma ve yazma işlemi için erişim sağlar. Eğer dosya yoksa yeni bir dosya oluşturur ve dosyada veri varsa sıfırlar. İmleç dosyanın başına taşınır.
a Sadece yazma işlemi için erişim sağlar. Eğer dosya yoksa yeni bir dosya oluşturur. İmleç dosyanın sonuna taşınır.
a+ Okuma ve yazma işlemi için erişim sağlar. Eğer dosya yoksa yeni bir dosya oluşturur. İmleç dosyanın sonuna taşınır.
x Dosya mevcut değilse oluşturulur ve sadece yazmak için erişim sağlar. Dosya mevcutsa FALSE döndürür. İmleç dosyanın başına taşınır.
x+ Dosya mevcut değilse oluşturulur. Okuma ve yazma işlemleri için erişim sağlar. Dosya mevcutsa FALSE döndürür. İmleç dosyanın başına taşınır.

Dosya silme

Varolan bir dosyayı silmek için unlink($silinecek_dosya) fonksiyonu kullanılır.

Dizindeki dosya ve klasörleri listeleme

Dizindeki içeriği açmak için opendir(), okuma işlemi için readdir() ve ekranda görüntüleme için readdir() fonksiyonları kullanılır. Listeleme işlemi için while döngüsünü kullandık.

Mustafa

2004 yılından bu yana Web ve Bilgi Güvenliği üzerine araştırmalarda bulundum. Çok sayıda yerli yada yabancı websitelerinde bulunan zaafiyetleri ilgililere göndererek kapatılmasını sağladım. Octosec ailesindenim. Siber Güvenlik Eylem Planı kapsamında TSE Kayıtlı Sızma Uzmanı sertifikam bulunmaktadır.

1 Comment

Leave a Reply