Solución:
Si desea estar absolutamente seguro y su PHP está habilitado para conexiones remotas, puede usar
getimagesize('url');
Si devuelve una matriz, es un tipo de imagen reconocido por PHP, incluso si la extensión de la imagen no está en la URL (según su segundo enlace). Debe tener en cuenta que este método hará una conexión remota para cada solicitud, por lo que tal vez almacene en caché las URL que ya probó en una base de datos para reducir las conexiones.
Puede enviar una solicitud HEAD al servidor y luego verificar el tipo de contenido. De esta manera, al menos sabrá qué “piensa” el servidor de qué tipo es.
Puede verificar si una URL es una imagen usando la función getimagesize como se muestra a continuación.
function validImage($file) {
$size = getimagesize($file);
return (strtolower(substr($size['mime'], 0, 5)) == 'image' ? true : false);
}
$image = validImage('http://www.example.com/image.jpg');
echo 'this image ' . ($image ? ' is' : ' is not') . ' an image file.';
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)