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.