0 votos

PHP - Leer ficheros de un directorio, problema acentos, etc

Buenas.

¿Alguna forma de obtener correctamente los nombres de ficheros, que incluyan acentos y demás caracteres extraños?

He probado con readdir() y scandir() con idéntico resultado.

A ver se puede obtener un listado con algo como esto:

    if ( $dir = opendir( utf8_encode( $path_directorio ))) {

         //Recoge los paths de los ficheros del directorio
         $arr_files = array();

         while ( FALSE !== ( $archivo = readdir( $dir ))) {

              //Rellena array con los ficheros del directorio 
              if ($archivo !== '.' && $archivo !== '..') {

                   $arr_files[] = ( $path_completo ) 
                        ? $path_directorio . '/' . utf8_encode( $archivo )
                         : utf8_encode( $archivo );
               }
          }

          //Cerrar directorio
          closedir($dir);
}

Si se imprime el contenido del array los caracteres aparecen correctos, gracias a utf8_encode(), pero si intentas manipular el fichero no se podría, p.e. usar file_exists() devolvería false...

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X