Si has tenido que mostrar alguna vez las entradas de un directorio y has tenido que filtrarlas de alguna forma (para ver, por ejemplo, todos los archivos de texto, los archivos XML, las imágenes …) posiblemente lo hayas resuelto abriendo el directorio, leyendo una a una cada entrada, comparándola con lo que buscabas y, después de hacer lo que necesitas, cerrando el directorio.
Pues has hecho mal. Existe una forma mucho más rápida de hacerlo. En PHP desde la versión 4.3 se hace uso de una función también disponible en la biblioteca estándar de C llamada glob().
En PHP su uso es, como suele suceder con todas las demás, mucho más fácil que en C. Pero qué mejor que un ejemplo:
<?php foreach (glob("*.txt") as $nombre_archivo) { echo $nombre_archivo ' con tamaño ', filesize($nombre_archivo), " bytes\n"; } ?>
Esto mostrará una salida como esta:
archivo1.txt con tamaño 44686 bytes archivo2.txt con tamaño267625 bytes archivo3.txt con tamaño137820 bytes