PHP ile dizin işlemleri sayesinde yeni dizinler oluşturabilir, dizinleri taşıyabilir, yeniden adlandırabilirsilebilir ve içinde neler olduğunu gösterebiliriz.

Web tabanlı dosya yöneticisi gibi bir yazılım yapmak ya da dosya upload çalışmalarına girişmek için öğrenmemiz gereken konulardan bir tanesi olan dizin işlemleri sayesinde tüm dosya yönetimi olaylarına öğrenmiş oluyoruz.

Dizin Oluşturmak

Yeni bir klasör oluşturmak şeklinde de değerlendirebileceğimiz bu olayı mkdir() fonksiyonu sayesinde gerçekleştiririz.

mkdir('pratikkodlar');

Yukarıdaki örneği çalıştırdığımızda çalıştırdığımız dizinin içerisinde pratikkodlar adında yeni bir klasör oluşturmuş oluruz.

Dizini Silmek

Varolan dizinleri silmek için rmdir() fonksiyonunu kullanırız. Bu fonksiyon ile sileceğimiz dizininin içerisi boş olmak zorundadır. Eğer dolu bir dizini bu şekilde silmeye kalkışırsak PHP bize hata gösterecektir.

Dolu bir dizini olduğu gibi silmek istiyorsak eğer, o zaman önce diğer dersde anlattığımız unlink()fonksiyonunu kullanarak tüm içeriği silmemiz gerekecek.

rmdir('pratikkodlar');

Bu örnek çalıştığında pratikkodlar adında bir dizin kalmamış olur.

Dizinlerin, Dosyaların Adını Değiştirme ve Taşıma

Aslında dizinlerin ya da dosyaların adını değiştirmek ile taşımak aynı şey diyebiliriz. Garip gelsede ismini değiştirdiğinizde aslında onu bir nevi taşımış olursunuz.

Bu işi rename() fonksiyonu ile gerçekleştireceğiz. İki parametre ile çalışan bu fonksiyonun ilk parametresine taşıyacağımız ya da değiştireceğimiz, dosya ya da dizin adın, ikinci parametreye ise taşıyacağımız yolu yazarız.

rename('eski', 'yeni');

Yukarıdaki örnek çalıştığında eski adında klasörü yeni adında değiştirir.

Aynı şekilde dizin yerine bir dosya uzantısı ve adı belirttiğimizde bu sefer değiştirme işini dosya üzerinde yapacaktır.

rename('pratik.jpg', 'pratikkodlar.jpg');

Bu çalışmada da pratik.jpg adındaki dosyamızın adını pratikkodlar.jpg olarak değiştirecektir.

Yine benzer şekilde ikinci parametrede farklı bir dizin belirttiğimizde dosyayı o dizine taşıyacaktır.

rename('pratik/bir.jpg', 'pratikkodlar/resim.jpg');

Burada pratik klasörü içindeki bir.jpg dosyasını pratikkodlar klasörüne taşıyıp adını resim.jpg olarak değiştirmiş olduk.

Dizin İçerisindekileri Okuma

Bir dizinin içerisinde bulunan tüm dosyaları listelemek için iki fonksiyona ve bir while döngüsüne ihtiyacımız var.

İlk olarak opendir() fonksiyonu ile aynı fopen() ile dosya açmadaki mantık gibi dizini açarız. Ardından dizini bağlantısını yüklediğimiz değişkeni readdir() fonksiyonu ve while döngüsü ile bağlayıp tüm dizinin içeriğine ulaşırız.

	$dizin = opendir('dosyalar');
	while($dosya = readdir($dizin))
	{
		if($dosya!='.' && $dosya!='..')
		{
   			echo $dosya . ' <br/>';
		}
	}

Burada dikkatinizi çekecek mevzu while döngüsü içinde kullandığım koşul olabilir. Tek eşittir işareti kullandığımız bu koşulda amaç diğer koşullara göre farklıdır. Ayrıca burdaki if kullanmaz isek ekranda alt dizinleri göstermemesi sağlıyoruz.

Bu özel yöntem sayesinde döngü tüm dizindeki dosyaları sayana kadar tek tek dönecektir.

Ekranda da dosyalar dizininin içeriğine göre dosya adları sırayla yazacaktır.

Örneğin içinde resim.jpg, dosya.rar ve müzik.mp3 dosyası olan dosyalar dizininde ekrandaki çıktı:

resim.jpg
dosya.rar
müzik.mp3

Eğer if kullanmasaydık ekran su sekilde bir çıktı alıcaktık.

.
..
resim.jpg
dosya.rar
müzik.mp3

Bir sonraki dersimizde PHP Upload işlemine bakacağız.

 

Yorumlar

Yorum Yapılmamış.

Yorum Yaz

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