PHP Ejemplos

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

Descarga 156 Sistemas PHP & MySQL

¿Te gusto el artículo? Puedes apoyarme invitándome un Café

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

3 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba