Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Alguém consegue me exmplicar por que minha recursividade não funciona??
Digo, o código está tudo certo, estou fazendo um menu, que vai exibir todos arquivos, pastas, arquivos das pastas etc...
Mas isso não está recursivo!
Quando o código entra na primeira pasta, que acha, lista os arquivos dela e só, não está "voltando" a raiz e listando as outras pastas... ou seja, depois que chamo a funcao dentro dela mesma, o que está depois dessa chamada nunca mais é compilado..
Se alguem conseguir me ajudar ficarei grato!
<?php
function recursive($dh){
while (($file = readdir($dh)) !== false) {
$quebra = explode('.', $file);
$ext = strtolower(end($quebra));
if (is_dir($file) && ($file != ".") && ($file != "..")) { //if it is a folder
echo "<li>";
echo $file; //folder name
echo "<ul>";
$dir = $file;
$dh = opendir($dir);
recursive($dh);
// closedir($dh);
echo "</ul>";
echo "</li>";
} //end if is folder
if (($file != '.') && ($file != '..') && ($ext != $quebra[0]) && ($ext != false)) { //if it is a file
echo "<li>";
echo "<a href=\"$dir/$file\">$file</a>";
echo "</li>";
}//end if is file
} //end while
}//end function
echo "<ul id=\"containerul\">";
$file="";
$dir = ".";
if ($dh = opendir($dir)) {
recursive($dh);
}
echo "</ul>";
?>Carregando comentários...