Portada » Lenguaje PHP » Listar archivos de una carpeta usando PHP

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.

Lista de carpetas
Lista de carpetas
<!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>
Listar archivos de una carpeta usando PHP
Listar archivos de una carpeta usando PHP

Espero que esta pequeña explicación les sea de gran utilidad.

Fuente:

Lista de carpetas

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad