<?phpclass DerinDizin{var $dizin;var $dosyalar;function DerinDizin(){$this->dizin = '';$this->dosyalar = array();$this->dizinelemanlar = new elemanlar();}function dizinAyarla( $dizin ){$this->dizin = $dizin;$this->dosyalar = array();$this->dizinelemanlar->sifir();$this->dizinelemanlar->push( $this->dizin );}function yukle(){while( $this->mevcutDizin = $this->dizinelemanlar->pop() ){$this->mevcutDizindenYukle();}}function mevcutDizindenYukle(){if ( $kol = @opendir( $this->mevcutDizin ) ){while ( false !== ( $dosya = readdir( $kol ) ) ){if ( $dosya == "." || $dosya == ".." ) continue;$dosyaYolu = $this->mevcutDizin . '/' . $dosya;$dosyatipi = filetype( $dosyaYolu );if ( $dosyatipi == 'dir' ){$this->dizinelemanlar->push($dosyaYolu);continue;}$this->dosyalar[]=$dosyaYolu;}closedir($kol);}else{echo 'Hata : Dizin Açılamıyor "'.$this->mevcutDizin.'"';}}}class elemanlar{var $elemanlar;function elemanlar(){$this->sifir();}function push( $eleman ){array_push( $this->elemanlar, $eleman );}function pop(){return array_pop( $this->elemanlar );}function sifir(){$this->elemanlar = array();}}$dizinAdi = '..';$dizin = new DerinDizin();$dizin->dizinAyarla($dizinAdi);$dizin->yukle();foreach( $dizin->dosyalar as $n => $kolYolu ){echo ($n+1)." ".$kolYolu."<br>";}?>
Çıktısı
1 ../localweb/index.php2 ../localweb/test/2.txt3 ../localweb/test/a/b.php4 ../databases/tr.txt5 ../conf/asd.txt6 ../conf/test.conf7 ../conf/test2.conf