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