Kazım Ölmez – Web Tasarım Uzmanı

İnsanlara Faydası Olmayanı Ölülerden Say Gitsin..

Php İle Recursive Dir

Selâmün Aleyküm. Arkadaşlar bu yazının konusu: “Php İle Recursive Dir”.

Php ile ilgileniyorsanız basit de olsa dizin listeleme işlemleri yapmışsınızdır. Ama çoğu videolar da ve anlatımlar da basitçe tek level dizin listelemesi anlatılıyor. Bir tane ana dizin ve beş tane alt dizin, ve 8 tane de ana dizinde dosyanız varsa siz sadece ana dizindeki dosyaları listeliyorsunuz onların anlatımlarına göre. Ama işleri ilerletince sizde level atlama ihtiyacı duyabiliyorsunuz. Mesela bir virüs tarayıcısı yapacaksınız. Eee sadece ana dizinde ki dosyalara mı bulaşıyor bu virüsler. Alt dizinler de ki hatta onlarında altında ki dizinleri taramanız gerekiyor. İşte o an da recursive dir denen kavram yetişiyor imdadınıza. Birçok kişi bunu bilmiyordur belki. Cahilliğinden değil 🙂 ihtiyacı olmadığından. Ama dediğim gibi bazı durumlarda ihtiyaç olabiliyor ve o an bu yazıyı bulun.

Evet Php İle Recursive Dir ilşemini bir örnekle açıklayalı.


function Recursive_Dir($anadizin){
$dosyalar = array();
$dizinler = array();

$dizin = (substr($anadizin, -1) == '/') ? substr($anadizin, 0, -1) : $anadizin;
if(is_dir($dizin)){
if($islem = opendir($dizin)){
while(false !== ($dosya = readdir($islem))){
if($dosya != "." && $dosya != ".."){
$yer = $dizin.'/'.$dosya;
if(is_dir($yer)){
$dosyalar = array_merge($dosyalar, Recursive_Dir($yer));
array_push($dizinler, $yer);
} else {
array_push($dosyalar, $yer);
}
}

}
closedir($islem);
} else {
die('Could not open directory.');
}
} else {
die('Invalid directory.');
}

//return $dizinler;

return $dosyalar;
}
$res = Recursive_Dir("./");
foreach ($res as $dir) {
echo $dir."
";
}

Ve sonuç:

Php İle Recursive Dir

Tabi isterseniz fonksiyonu geliştirmek size kalmış.

DEMO

Selâmetle.

Yorum Yap

%d blogcu bunu beğendi: