estoy leyendo a través de un directorio con algunas fotos y tal usando una aplicación bastante simple de readdir() como el siguiente:PHP readdir() no devolver los archivos en orden alfabético
if ($handle = opendir($path)) {
while (false !== ($szFilename = readdir($handle))) {
if ($szFilename[0] !== '.') {
if (is_file($path.$szFilename)) {
// do stuff
}
}
}
}
El problema que estoy teniendo es que los archivos no se leen en orden alfabético como la documentación para el estado readdir():
Devuelve el nombre del siguiente archivo del directorio. Los nombres de archivo son devueltos en el orden en que son almacenados por el sistema de archivos.
Otra cosa extraña es que, en el servidor de prueba local, el mismo código funciona muy bien. Esto se ejecuta en un servidor utilizando la pila LAMP en ambos casos.
Sé que puedo construir una matriz y simplemente ordenarla, pero me preguntaba si me estaba perdiendo algo de lo que estaba haciendo.
/me slaps frente scandir() es lo que estaba buscando. ¡Gracias! – Buggabill
BTW: ls -U enumera los archivos en el orden en que se almacenan las entradas de directorio en el directorio. –
La función 'glob()' también puede ayudar aquí. http://php.net/glob Por defecto, devuelve archivos ordenados alfabéticamente. –