Estoy leyendo todos los archivos en un solo directorio y quiero filtrar en JPG, JPEG, GIF y PNG.Comprobación de extensiones de archivos en PHP con expresiones regulares
Tanto letras mayúsculas como minúsculas. Esos son los únicos archivos para ser aceptados.
Actualmente estoy usando esto:
$testPics = takeFiles($picsDir, "([^\s]+(?=\.(jpg|JPG|jpeg|JPEG|png|PNG|gif|GIF))\.\2)");
y los takeFiles función tiene el siguiente aspecto:
function takerFiles($dir, $rex="") {
$dir .= "/";
$files = array();
$dp = opendir($dir);
while ($file = readdir($dp)) {
if ($file == '.') continue;
if ($file == '..') continue;
if (is_dir($file)) continue;
if ($rex!="" && !preg_match($rex, $file)) continue;
$files[] = $file;
}
closedir($dp);
return $files;
}
Y siempre devuelve nada. Entonces algo debe estar mal con mi código de expresiones regulares.
que tendrá que escapar del punto. – Mark
Gracias Marcar, arreglado. D'oh! –
@PhillSacre el enlace a SpawEditor ha expirado. ¿Puedes actualizar tu respuesta? –