Php İle Dosya Komutları Kullanımı Dizin İşlemleri Nasıl Yapılır ?

  1. Ana Sayfa
  2. >
  3. Php
  4. >
  5. Php İle Dosya Komutları Kullanımı...


PHP ile dizin işlemleri işlevlerinin yardımıyla yeni dizin yaratabilir, konumlandırabilir, yeniden isim verebilir, silebiliriz ve aynı zamanda içerisinde neler barındığını görebiliriz.

Web tabanlı dosya yönetimi ile ilgili bir program yaratmak ya da upload projelerine girmek için öğrenmemiz gereken sabitlerden biri olan ve dizin işlemleri yardımıyla bütün dosya yönetimleri işlemlerine girmiş bulunmaktayız.

Dosya işlevleri içerisinde kullandığımız gibi dizin işlemlerinde de çoğunlukla bu olayı fonksiyonları kullanarak gerçekleiştireceğiz.

PHP ile dizin oluşturmak ?

Yeni dosya oluşturmak olarak da bakacağımız bu sistemi mkdir() fonksiyonunun yardımıyla gerçekleştireceğiz. Bu Komut 1 sözdizimi ile de çalışır, ama eğer isterseniz 2. parametreyi kullanarak dosyaya CHMOD özelliğini belirtebiliyorsunuz.

1
mkdir('selamlar');

Yukarıda Verdiğimiz örneği çalıştırdığınızda dizinin içinde selamlar isminde yeni bir klasör yaratmış oluyoruz.

Fakat oluşturacağınız yeni bir dizine CHMOD belirtmek isteyecek olursanız 2. sözdizimini devreye sokabilirsiniz.

2. Sözdizimini kullanmayacaksak eğer varsayılan olarak değeri “0777” vererek tüm izinleri aktif konuma getirmiş oluruz.

1
mkdir('yenibirdizinbu', '0655');

Bu örnekte ise yenibirdizinbu isminde dizin yaratıp “0655″ CHMOD değerini belirterek dosya yazma iznini devre dışı bırakmış olmaktayız.

PHP ile dizin silmek

Zaten Hali Hazırda Mevct olan dizinleri yoketmek için rmdir() işlevini kullanabiliriz. Bu komut sayesinde çöpe göndermek istediğimiz herhangi bir dizininin içinde hiç bir şey olmaması gerekmektedir. Eğer İçi Boş Olmayan Bir Dizini çöpe taşımaya çalışırsak PHP bize oldukça kızarak kendini bize ifade etmek amacıyla yaşanan bu olayla ilgili hata gösterecektir.

İçi zaten dolu olan bir dizini kendi halinde olduğu gibi yoketmeyi arzuluyorsak eğer, o zamanda bunun
için unlink() işlevini kullanabilir ve dizinin tüm içeriğini yokedebilirsiniz.

1
rmdir('selamlar');

Yukarıdaki Bu örnek devreye girdiğinde ise selamlar ismini alacak olan bir dizin artık yok edilmiş olur.

PHP ile dizinlerin veya klasörlerin ismini değiştirmek ve taşımak

Dizinlerin veya klasörlerin ismini değiştirmek ile taşıma işlemi aynıdır dersek yanılmayız. Belki Bu Örnek Size Oldukça Farklı gelsede adını değiştirdiğinizde işin aslında onları taşımış olursunuz.

Evet şimdi bu olayı rename() işlevi ile yapacağız. 2 parametre sayesinde çalışmayı sürdüren bu işlevin 1. sözdiziminde taşıyıp veya ismini değiştirecek olduğumuz, klasör veya dizin ismi, 2.parametreye ise konumlandıracağımız path yani yolunu yazmalıyız.

1
rename('eski', 'yeni');

Yukarıda mevcut örnek çalıştırıldığında ise eski isminde dosyayı yeni isminde değiştirecektir.

Aynı zamanda da dizin yerine herhangi bir klasör uzantısı ve adını verdiğimizde bu seferde değiştirme işlevini klasör üstünde yapmaya başlayacaktır.

1
rename('resim.png', 'manzara.png');

Bu olayda ise resim.png isminde yer alan dosyanın ismini manzara.png olacak hale getirip değiştirme işlemini başarıyla bitirecektir.

Yine benzeri şekillerde 2.sözdiziminde değişik bir dizin gösterdiğimizde klasörü o dizine başarıyla taşıyacak.

1
rename('resim/resim1.jpg', 'selaleler/resim2.jpg');

Buralarda ise resim dosyası içinde yer alan resim1.jpg dosyasını şelaleler isimli klasöre taşıyıp ismini resim2.jpg olaraktan değiştirmeyi sağlamış olduk.

PHP ile dizinin içeriğinde olanları okuma işlemi

Herhangi Bir dizinin içeriğinde mevcut olan tüm klasörleri listeletmek adına 2 php fonksiyonuna ve birde tabiki her zaman olduğu gibi while döngüsünü kullanmaya ihtiyacımız olacaktır.

İlk önce yapılacak işler arasında olmak üzere opendir() işlevi ile aynı fopen() fonksiyonunda olduğu gibi klasör açmakta ki kurgu gibi dizini açacağız. Hemen sonra ise readdir() fonksiyonu ve while döngüsü sayesinde bağlantıyı sağlayıp tüm dizinin içeriklerine ulaşmayı başarmış oluruz..

1
2
3
4
$dizin = opendir('dosyalar');
while($dosya = readdir($dizin)) {
   echo $dosya . ' <br/>';
}

Özellikle burada odaklanacağınız en önemli konu ise while döngüsü içerisinde kullandığımız koşul olabilir. 1 adet eşittir işaretini kullandığımız bu şartta amaç başka şartlara göre farklıdır.

İşte Bu özel yordam yardımı ile döngü bütün dizinde yer alan dosyaları saymayı bitirinedek sürekli olarak adım adım dönmeyi sürdürecektir.

Ekran üzerinde de dosyalar dizin içerisine göre dosya isimleri sıralı bir şekilde karşınıza çıkacaktır.

Bir örnek vermek gerekirse; içerisinde resim.jpg, word.rar ve musiki.mp3 dosyası mevcut olan dosyalar dizininde yer alan ekran üzerinde görülen çıktısı bu şekilde yer alacaktır.

1
2
3
4
5
.
..
resim.jpg
word.rar
musiki.mp3

Bu Yukarıda Alan Çıktı ilk ortaya atılan . ve .. noktalama işaretleri bir alt dizini ve şuan mevcut dizini anlatır bize. Eğer Siz İsterseniz bu noktalama işaretlerini bir if ifadesi yardımı ile devre dışı kalmasını sağlayıp temiz bir görünüm sağlayıp direkt olarak içeriğe ulaşabilirsiniz.