Listar archivos de una carpeta usando PHP

Listar archivos de una carpeta usando PHP. En este pequeño artículo veremos una de las tantas maneras en el cual podemos mostrar en una lista los archivos que hay en un directorio de nuestro servidor.
Sin embargo, para lograr este objetivo y que la lista sea de una forma ordenada por orden del alfabético, debemos de realizar lo siguiente.
Listar archivos de una carpeta usando PHP
En el primer bucle recogemos los datos de los archivos. Solo mencionarles que el array de letras está en mayúsculas porque la primera letra de los nombres de nuestros ficheros también está en mayúscula. Veamos el siguiente ejemplo.
Primera Forma
<?php //Lista de letras abecedario $letras=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z'); $carpeta="ARCHIVOS"; $ruta="/".$carpeta."/"; $directorio=opendir($carpeta); //recoger los datos $datos=array(); while ($archivo = readdir($directorio)) { if(($archivo != '.')&&($archivo != '..')){ $datos[]=$archivo; } } closedir($directorio); for($j=0;$j<count($letras);$j++){ echo "<div class='cuerpo'>"; echo "<h2>".$letras[$j]."</h2>"; echo "<ul>"; //imprimir datos for($i=0;$i<count($datos);$i++){ $archivo=$datos[$i]; $archivo2 = explode("." , $archivo); if($archivo[0]==$letras[$j]){ echo "<li><a href='".$ruta.$archivo."' title='".$archivo2[0]."'>".$archivo2[0]."</a></li>"; } } echo "</ul>"; echo "</div>"; } ?>
Segunda Forma
Con este pequeño código podrás ver el contenido de un directorio en nuestro servidor, todos sus archivos. Lo que hacemos es crear una función llamada «lista archivos» y lo recorremos con un while. Sin embargo, también debemos verificar si es o no un subdirectorio. Si es cierto le asignaremos corchetes [] para diferenciarlo de los archivos de la lista.
En este ejemplo veremos cómo verificar y obtener el contenido de una carpeta con PHP así también de recorrerlo de manera inteligente.

<!DOCTYPE html> <html lang="es"> <head> <title>Listar Archivos</title> <meta charset="UTF-8"> </head> <body> <?php //Creamos Nuestra Función function lista_archivos($carpeta){ //La función recibira como parametro un carpeta if (is_dir($carpeta)) { //Comprovamos que sea un carpeta Valido if ($dir = opendir($carpeta)) {//Abrimos el carpeta echo '<ul>'; while (($archivo = readdir($dir)) !== false){ //Comenzamos a leer archivo por archivo if ($archivo != '.' && $archivo != '..'){ $nuevaRuta = $carpeta.$archivo.'/'; echo '<li>'; //Abrimos un elemento de lista if (is_dir($nuevaRuta)) { //Si la ruta que creamos es un carpeta entonces: echo '<b>'.$nuevaRuta.'</b>'; //Imprimimos la ruta completa resaltandola en negrita lista_archivos($nuevaRuta);//Volvemos a llamar a este metodo para que explore ese carpeta. } else { //si no es un carpeta: echo 'Archivo: '.$archivo; //simplemente imprimimos el nombre del archivo actual } '</li>'; //Cerramos el item actual y se inicia la llamada al siguiente archivo } }//finaliza echo '</ul>';//Se cierra la lista closedir($dir);//Se cierra el archivo } }else{//Finaliza el If de la linea 12, si no es un carpeta valido, muestra el siguiente mensaje echo 'No Existe la carpeta'; } }//Fin de la Función //Llamamos a la función lista_archivos("./ARCHIVOS/"); ?> </body> </html>

Espero que esta pequeña explicación les sea de gran utilidad.
Fuente:
Lista de carpetas
Excelente post. Gracias Saludos
gracias por compartir
Hola Eliu
Fue un placer, me alegra que el script te aya servido.
Excelente, te debo una gracias por compartir el codigo!!