web tasarım dersleri

Navigate / search

opendir() ile Klasörleri(Dizinleri) ve Alt Klasörleri Listeleme

Belirttiğiniz bir klasördeki tüm dosya ve alt-klasör adlarını bir liste halinde sunabilmek için önce dizini içeriğini okuyabilmek için opendir() fonksiyonu ile açmak, sonra da içindeki bilgileri readdir() fonksiyonu ile edinmek gerekir. readdir() fonksiyonu dizinin içindeki alt-dizin ve dosyaların adlarını sırayla, tek-tek okur. Bu fonksiyondan gelen bilgileri bir değişkene atayarak ve bir döngü içinde yazdırarak, dizin listesi çıkartabiliriz. Bu yapacağımız örnekte Recursive yani kendi kendini çağıran fonksiyon kullanacağız.

Bunu kullanmamızın nedeni ise kaç tane alt klasörümüzün olduğunu bilmememiz. Kendi kendini çağıran fonksiyonumuz tüm alt klasörlere erişerek klasör ağacımızı çıkartacaktır.

Fonkyisonumuzu yazdıktan sonra, dizin_listele(‘klasor_adi/’); yazarak fonksiyonumuzu çağırıyoruz. Parametre olarakta yazdığımız klasörün içindeki klasörler listesini verecektir

function dizin_listele($dir, $pos=2)
{
     if($pos == 2)
     {
          echo "<hr><pre>";
     }
 
     $handle = @opendir($dir);
     while ($file = @readdir ($handle))
     {
        if (eregi("^\.{1,2}$",$file))
        {
          continue;
        }
 
     if(is_dir($dir.$file))
        {
          printf ("% ".$pos."s <b>%s</b>\n", "|-", $file);
        }
        }
 
}
dizin_listele("dizin_adi/");

Comments

Leave a comment

name*

email* (not published)

website