24 Mayıs 2014 Cumartesi

Php'de Dizin Oluşturma ve Dizin İşlemleri

Php'de dizin işlemleri sayesinde yeni dizin oluşturabilir,dizinler değiştirebilir ya da silebiliriz.Upload ile ilgili php tabanlı bir sistem yazacaksınız bu ders işinize yarayabilir. 

Dizin Oluşturma


Yeni bir klasör oluşturmak şeklinde de değerlendirebileceğimiz bu olayı mkdir() fonksiyonu sayesinde gerçekleştiririz. Bir parametre ile çalışır, ama eğer istersen 2. parametre ile dosya CHMOD değerini belirtebilirsiniz. 



 Kod Çizelgesi     Kod Dili: phpHepsini Seç

<?php
mkdir
('ilkdizin'); 

?> 



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

Eğer oluşturacağımız yeni dizinin CHMOD değerinide ifade etmek isteyecek olursak 2. parametreyi devreye sokuyoruz. 

2. Parametreyi kullanmazsak varsayılan değeri “0777&#8243; yani tüm izinleri verilmiş durumda olur. 



 Kod Çizelgesi     Kod Dili: phpHepsini Seç

<?php
mkdir
('yenidizin''0655'); 

?> 



Bu örnekte de yenidizin adında bir dizin oluşturup 0655 CHMOD değeri vererek yazma iznini iptal etmiş olduk. 

Dizinleri 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 kızıp 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. 



 Kod Çizelgesi     Kod Dili: phpHepsini Seç
<?php
rmdir
('ilkdizin'); 

?> 



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

Dizinlerin 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. 



 Kod Çizelgesi     Kod Dili: phpHepsini Seç

<?php
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. 



 Kod Çizelgesi     Kod Dili: phpHepsini Seç

<?php
rename
('resim.jpg''manzara.jpg');

?> 



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

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



 Kod Çizelgesi     Kod Dili: phpHepsini Seç

<?php
rename
('resim/bir.jpg''manzaralar/resim.jpg'); 

?> 



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

Dizin İçindekileri 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. 



 Kod Çizelgesi     Kod Dili: phpHepsini Seç

<?php
$dizin 
opendir('dosyalar');
while(
$dosya readdir($dizin)) {
   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. 

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 

Şeklinde olacaktır. Burada ilk çıkan . ve .. işaretleri bir alt dizini ve şuanki dizini ifade eder. İstersen o işaretleri bir if ifadesi ile saf dışı bırakıp sadece içeriğe ulaşabilirsin. 


Bir sonraki derste görüşmek üzere hoşçakalın...

Hiç yorum yok:

Yorum Gönder