La primera función que os dejo utiliza el readdir() y me listó bien el contenido del directorio en mi servidor de desarrollo, sin embargo cuando lo subí al hosting no me mostró los archivos ordenados alfabéticamente.
function getFiles($dir){ $files = array(); // Abrimos el directorio if ($dh = opendir($dir)){ // Recorremos los ficheros del directorio while (($file = readdir($dh))!==false){ // Comprobamos que sea un fichero y no un subdirectorio if (is_file($dir.'/'.$file)){ $files[] = $file; } } closedir($dh); } return $files; }
Para mostrarlos de forma ordenada tuve que cambiar la función y usar scandir() que además es más simple ya que directamente nos devuelve un array con los archivos encontrados, ordenados ascendente o descendentemente, según queramos.
function getFiles($dir){ $files = array(); // Leemos el directorio ordenado ascendentemente $tmp = scandir($dir); // Recorremos los ficheros del directorio foreach ($tmp as $file){ // Comprobamos que sea un fichero y no un subdirectorio if (is_file($dir.'/'.$file)){ $files[] = $file; } } return $files; }
Gracias, yo tenía el mismo problema, su solución funciona. FSossaCo
ResponderEliminar