Hace poco descubrí una nueva manera de recorrer un directorio con PHP. Se trata de la función GLOB.Con esta función no es necesario abrir el directorio y recorrerlo, basta solo con hacer un foreach y ya está.
Con un par de ejemplos se puede ver su funcionamiento:
//En este caso recorre el directorio actual guardando en $nombre_archivo los archivos txt en cada iteración
foreach (glob("*.txt") as $nombre_archivo) {
echo "Tamaño de $nombre_archivo " . filesize($nombre_archivo) . "\n";
}
En el siguiente ejemplo podemos ver como recorrer el directorio filtrando por más tipos de archivo
//En este caso recorre el directorio actual guardando en $nombre_archivo los archivos txt o doc en cada iteración
foreach (glob(\"{*.txt,*.doc}\", GLOB_BRACE) as $nombre_archivo) {
echo "Tamaño de $nombre_archivo " . filesize($nombre_archivo) . "\n";
}
Espero que sea de utilidad.