En particular me toco desarrollar una especie de gestor de archivos PHP y ver todo el contenido de las carpetas, para eso lo que hice fue realizar una función que recorre todos los archivos que hay dentro de la misma listando a todos, así también realizando un enlace en caso de que exista una subcarpeta dentro de la misma.


Para tal cosa aquí está la función que utilice, es muy práctica y no consume muchos recursos, cabe destacar que si en un directorio que tienen mas de 5000 archivos si va a consumir muchos recursos y también va a tener problemas de tiempo de ejecución.


Solo estamos utilizando tres funciones mas que esenciales para poder utilizar:
is_dir: con esto verificamos si existe el directorio que le indicamos
opendir: con esta función del php abrimos la carpeta para ver el contenido
readdir: Leemos el contenido de la carpeta (con esta función determinamos si el archivo es una carpeta)
Lo último seria cerrar el directorio una vez que leemos todo el contenido con la función closedir().

 

#webdebe.xyz
function listar_archivos($carpeta){
if(is_dir($carpeta)){
if($dir = opendir($carpeta)){
while(($archivo = readdir($dir)) !== false){
if($archivo != '.' && $archivo != '..' && $archivo != '.htaccess'){
echo '<li><a target="_blank" href="'.$carpeta.'/'.$archivo.'">'.$archivo.'</a></li>';
}
}
closedir($dir);
}
}
}
echo listar_archivos('/carpeta/webdebe');

 

Es muy importante colocar la ruta absoluta para que funcione correctamente esta función asi también debes contar con los permisos suficientes en el caso de estar trabajando en Linux, ya que si no tienen los permisos suficientes arroja un error de apertura de carpeta o simplemente no aparece nada.




Deja un Comentario

Tu dirección de correo no sera publicado. Los campos obligatorios están marcados con *

Nombre *
Correo *
Web