Php Dersleri – Dosya Ve Klasör İşlemleri

Merhaba arkadaşlar mobilhanem.com için hazırladığımız php derslerimizde bu ders Dosya ve Klasör işlemlerine başlangıç yapacağız.  Öncelikle klasör işlemlerinden başlayalım. Klasör işlemlerinde önemli olan klasörün dosya sisteminde nerede olduğudur. Bir klasörün yerini belirlemek için absolute path ve relative path olmak üzere iki yöntem vardır.

Absolute Path

Absolute path yönteminde klasörün  dosya sistemindeki tam yolu kullanılır.

Örneğin:

Biz mobilhanem klasöründeysek dersler klasörüne gideceksek absolute path yöntemi ile  C:\wamp\www\mobilhanem\dersler şeklinde erişiriz.

Relative Path

Relative pathda ise   bir klasörün bizim içinde  bulunduğumuz klasöre göre konumu kullanılır.

Örneğin şöyle bir dosya sistemi yapımız olsun.

Biz mobilhanem  klasöründeysek  dersler klasörüne gitmek için relative path yöntemi ile dersler/ şeklinde gideriz.

Php Klasörler İçinde Gezinmek

Klasörler içerisinde gezinmek neredeyse bütün programlama dillerinde aynıdır.  Genellikle mevcut bir klasörün içerisindeysek  relative path, mevcut bir klasörde değil isek absolute path kullanırız.

  • Önceki klasöre gitmek için ../
  • iki önceki klasöre gitmek için ../../
  • Bulunduğumuz klasör ./
  • Sonraki klasörler ./a/b yada a/b

Şimdiye kadar verdiğimiz bilgiler dosya sistemiyle alakalı genel bilgilerdi arkadaşlar.

Php Klasör Oluşturma

Php de klasör oluşturmak için mkdir() fonksiyonu kullanılır.

mkdir(‘klasör adı’,CHMOD); Chmod değeri klasör üzerinde yetkilendirme yapar chmod değeri olmadan sadece klasör adını yazarakta klasör oluşturabiliriz.

Chmod değerlerinden bu dersimizde bahsetmeyeceğimden chmod değerini kullanmayacağız.

Örnek:

Kodumuzu yazdıp çalıştırdığımızda index.php dosyamızın bulunduğu kısımda bir mobilhanem klasörü oluşacaktır.

Kodu iki kez çalıştırırsak bu klasör zaten var hatası alacağız. Bunun için dosya varmı yokmu kontrolü yapmamız gerekir.

file_exist(“PATH”) fonksiyonu verilen pathte dosya veya klasör var ise geriye ture, yok ise false döndüren bir boolean fonksiyondur.

 

Örnek:

Php Dosya Veya Klasör Taşıma – İsim Değiştirme

Dosya veya klasör taşıma işlemi için taşınacak klasörün var olup olmadığı kontrolünü yapmanız her zaman gerekir. Örneğin:

Dosya adı değiştirme örneği:

Php Klasör Silme

rmdir fonksiyonu ile klasörü silebiliriz. Klasörü silmek için klasörün içerisini boş olmak zorundadır. Aksi takdirde klasör silinmez ve hata mesajı alırız. 

örnek:

Php Klasör içerisindeki dosya ve klasörleri listeleme

dosya ve klasörleri listelemek için opendir ve readdir fonksiyonlarını kullanırız.

opendir(PATH) verilen pathteki klasörü açar.  geriye içeriği döndürür.

readdir()  opendir fonksiyonundan  gelen içeriği alır ve okur.

Örneğin:  Bulunduğumuz klasörün içeriğini listeleyelim.

Burada ilk çıkan . ve .. işaretleri bir alt dizini ve şuanki dizini ifade eder.

Bir verinin dosyamı klasör mü olduğunu öğrenmek için is_file() fonksiyonunu kullanırız.

is_file(PATH) verilen path deki verinin dosya mı klasör mü olduğuna bakar dosya ise true döndürür.

Yukarıdaki örneğimizde klasörlerin yanına klasör dosyaların yanına  dosya yazalım.

Php Dosya Oluşturma

Phpde touch() fonksiyonu ile dosya olutşrurulur.

touch(DOSYA_ADI)  parametre olarak dosya adını alır ve dosya oluşturulursa geriye true değeri döner.

örneğin mobilhanem.txt dosyasını oluşturalım.

Php ile Dosya Açmak

Phpde dosya içeriğini açmanın bazı seçenekleri vardır. değiştirmek için açmak, sonuna eklemek için açmak gibi gibi. Bu özellikleri aşağıdaki tabloda görebilirsiniz.

KipAçıklaması
rDosyayı okumak için açar. (read)
r+Dosyayı hem okumak hem de yazmak için açar. (read)
wDosyayı yazmak için açar. Var olan içeriği siler (write)
w+Dosyayı hem yazmak hem de okumak için açar. Var olan içeriği siler, baştan yazar. (write)
aDosyayı yazmak için açar. Var olan içeriği silmez sonuna ekler. (append)
a+Dosyayı hem yazmak hem de okumak için açar. Var olan içeriği silmez sonuna ekler. (append)
xDosyayı oluşturur ve yazmak için açar. Eğer dosya zaten varsa FALSE döner.
x+Dosyayı oluşturur, yazmak ve okumak için açar. Eğer dosya zaten varsa FALSE döner.

Php de dosyayı fopen ile açarız.

fopen() iki parametre alır. Birinci parametre dosya yolu ikinci parametre ise yukarıdaki tablodaki kiplerden biridir.

fopen() tek başına bir işe yaramaz sadece dosya ile bağlantı kurar. Şimdi fopen fonksiyonunu işe yarar bir hale getirelim.

fwrite(ACMA_DEGISKENI,VERI ) fwrite dosyaya veri yazar. İki parametre alır. Birinci parametre dosya açma yani fopen fonksiyonu, ikinci değişken ise yazacağın veridir.

fclose(ACMA_DEGISKENI) Açılan bir dosyayı kapatır. parametre olarakta fopen fonksiyonunun değişkenini alır.

Örneğin: mobilhanem.txt dosyasına mobilhanem.com yazıp kaydedelim.

Dosya içerğine bakarsak mobilhanem.com yazdığını görürüz.

Şimdide dosya içeriğini okuyalım.

fread(OPEN, BAYT)  fopen fonksiyonu ile dosya okuruz. Parametre olarak dosya open bağlantısı ve kaç bayt okunacağını alır. geriyede veriyi döndürür.

filesize($dosya) parametre olarak aldığı dosyanın boyutunu döndürür.

 

 

Evet arkadaşlar genel olarak dosya sisteminden dosya ve klasör işlemlerinden bahsettik ve bir dersimizin daha sonuna geldik. Bir sonraki dersimiz olan Php Dersleri – Temel String Fonksiyonları dersimizde görüşürüz.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm php dersleri için tıklayınız..

Vehbi Akdoğan

Erzurum Atatürk Üniversitesi Bilgisayar Mühendisliği Mezunu
Web & Android Developer
#erzurumspor

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?