Buscador con PHP

Hola soy yo otra vez el del Buscador. Estoy intentando hacerlo pero no se como funciona lo de los directorios, y he pensado que como tu me mandaste una aclaración pues quizás me podrías arreglar este código:
<?
Function leerdir($base)
{
global $filez;
unset($filez);
$handl=chdir("$dir$base");
while ($filen = readdir($handl)) {
echo"$filen<br>";
$files[] = $filen;
};
rewinddir($handl);
};
Function leer($basedir)
{
global $files;
unset($files);
$handle=dir($basedir);
while ($file = readdir($handle)) {
if ($file != "." && $file != "..") {
leerdir("$file");
};
};
};
leer("DIRPRIN");
?>
Lo que pretendo con este código es que me saque en pantalla todos los archivos que hay dentro de los subdirectorios (que no conocemos sus nombres ni la cantidad que hay) del directorio principal DIRPRIN. El resultado seria algo así:
DIRPRIN/SUBDIR/ARCHIVO1.JPG
DIRPRIN/SUBDIR/ARCHIVO2.JPG
DIRPRIN/HOLA/SALUDO.JPG
Creo que esta claro.
Te agradezco tu tiempo y te pondré la mejor nota.

1 respuesta

Respuesta
1
Para hacer esto deberías usar una función recursiva como la que te envío a continuación. El resultado no es exactamente como el que quieres pero es únicamente un esqueleto. Con esta función recorres todos los subdirectorios desde el directorio inicial que le indicas. Tu mismo puedes completar el código:
<?
function leerdir($base) {
$handle= opendir($base);
echo "Directorio: $base<br>";
while($file= readdir($handle)) {
if($file != "." && $file != "..") {
if(is_dir($file))
leerdir($file);
else
echo "$base/$file<br>";
}
}
closedir($handle);
}
leerdir(".");
?>
He probado el código que me mandaste y el resultado es el mismo que con el que yo constui, me sale un listado de los subdirectodios que hay. Lo que yo quería es un listado de los ficheros que hay en los subdirectorios.
Ayudame!
Gracias
Fallo de envío...
Perdona, ayer, justo después de enviarte la primera respuesta de envié otra con el código corregido, pero debió haber un error. Te lo mando de nuevo:
<?
function leerdir($base) {
$handle=opendir($base);
echo "<br><b> $base</b><br>";
echo "------------------------------";
while($file = readdir($handle)) {
if($file != "." && $file!= "..") {
if(is_dir("$base/$file"))
leerdir("$base/$file");
else
echo "$base/$file<br>";
}
}
closedir($handle);
echo "------------------------------";
return;
}
leerdir(".");
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas