Listar el contenido de una carpeta con PHP

Listar el contenido de una carpeta con PHP

El script aquí presentado crea un listado del contenido de una carpeta, ya sean archivos o subcarpetas.

Este es un script de múltiples usos en los hospedajes de PHP y puede adaptarse para circunstancias similares o incorporarse con ligeras modificaciones a scripts mayores.

Algunas consideraciones a tomar en cuenta el código son:

a) la variable caminito se le asignará la carpeta cuyo contenido deseas mostrar.

b) Para definir el arreglo utiliza la función @opendir()
La función opendir() abre una carpeta y la prepara para ser usada por las funciones closedir(), readdir() y rewinddir().

La funcion regresa como resultado una cadena en caso de que todo esté correcto, y falso en caso exista algún error o falla. Si se coloca el símbolo de arroba @ delante de la función se esconde cualquier mensaje de error que produzca la ejecución del script.

c) Para leer completamente el arreglo se utiliza un while loop.
La tarea de un while loop es ejecutar una tarea una y otra vez mientras el condicionamiento especificado sea verdadero. Aquí tenemos el detalle de como funciona el while loop cuando el script se ejecuta:

1. Se checa el condicionamiento especificado.
2. Si es verdadero, entonces el código dentro del loop se ejecuta.
3. El proceso empieza de nuevo en el paso 1, existiendo una ejecución permanente mientras el condicionamiento sea verdadero.
4. Si el condicionamiento es falso, el código interno no se ejecutará, paso 1, y no tendremos looping. El código que siga después del while loop se ejecutará normalmente.

d) Muestra los resultados y les asigna una liga para abrirse

e) Cerramos el arreglo.

<?
//Definimos la variable caminito
//Este dato es representativo y puede variar dependiendo del hospedaje
$caminito = «/home/tusitio/public_html/carpetadeseada»;

//usamos la función opendir
$carpeta = @opendir($caminito) or die(«No puedo abrir $caminito»);

echo «Contenido de la carpeta $caminito<br/>»;

//ejecutando el while loop
while ($archivo = readdir($carpeta))
{
if($archivo!=».» && $archivo!=»..»)
echo «<a href=’$archivo’>$archivo</a><br/>»;
}

//Cerramos la carpeta
closedir($carpeta);

?>

Esperamos que les sea de utilidad y lo puedan incorporar en sus páginas.