Cómo validar extensiones con expresiones regulares en PHP
El siguiente código de ejemplo ilustra cómo validar las extensiones del nombre de un fichero mediante expresiones regulares en PHP para averiguar si es archivo de imagen.
// Cadena de texto a evaluar
$nombre_fichero = "vacaciones001.jpg";
// Sólo se permiten gif, jpg ó jpeg y png
// sin sensibilidad a letras mayúsculas ni minúsculas
$patron = "%\.(gif|jpe?g|png)$%i";
// Ejemplo de visualización del resultado
echo preg_match($patron, $nombre) == 1 ? 'valido' : 'invalido';
Recuerda que puedes añadir y cambiar el listado de extensiones, para no sólo validar imágenes, sino documentos, hojas de cálculo, archivos comprimidos o extensiones personalizadas.