La siguiente función lista todos los ficheros de una carpeta con la extensión o extensiones que especifiquemos. Esta función es una variación de la publicada en "Listar todos los ficheros de un directorio con PHP"
<?php
function listar_ficheros ($tipos, $carpeta){
//Comprobamos que la carpeta existe
if (is_dir ($carpeta)){
//Escaneamos la carpeta usando scandir
$scanarray = scandir ($carpeta);
for ($i = 0; $i < count ($scanarray); $i++){
//Eliminamos "." and ".." del listado de ficheros
if ($scanarray[$i] != "." && $scanarray[$i] != ".."){
//No mostramos los subdirectorios
if (is_file ($carpeta . "/" . $scanarray[$i])){
//Verificamos que la extension se encuentre en $tipos
$thepath = pathinfo ($carpeta . "/" . $scanarray[$i]);
if (in_array ($thepath['extension'], $tipos)){
echo $scanarray[$i] . "
";
}
}
}
}
} else {
echo "La carpeta no existe";
}
}
?>
Un ejemplo de uso sería:
<?php
$tipos = array ("gif","html");
echo listar_ficheros ($tipos, "Imagenes");
?>
Se listarían todos los ficheros con extensión "gif" y "html" ubicados en la carpeta "Imágenes"




