Foros del Web » Programando para Internet » PHP »

Saber si existe una imagen

Estas en el tema de Saber si existe una imagen en el foro de PHP en Foros del Web. Buenas, Necesito saber a partir de una url de una imagen, si existe y si realmente se trata de una imagen. La parte para saber ...
  #1 (permalink)  
Antiguo 24/02/2012, 16:14
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Saber si existe una imagen

Buenas,

Necesito saber a partir de una url de una imagen, si existe y si realmente se trata de una imagen.

La parte para saber si existe la url me funciona, lo hago mediante

if ($foto = @file_get_contents($url_externa)){

}


Es correcto, verdad?

Me falta saber si esa url_externa se trata de una imagen o no, sabéis como puedo saberlo? he pensado que sabiendo el mimetype podría identificarla.

¿Sabéis como hacerlo?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 24/02/2012, 16:25
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Saber si existe una imagen

Hola,

Podrias usar mime_content_type.

Para saber si la imagen existe yo usaría file_exists.

Saludos.

Edito: mime_content_type ya esta obsoleta, en su lugar el manual recomienda usar Fileinfo.

Última edición por quike88; 24/02/2012 a las 16:32
  #3 (permalink)  
Antiguo 24/02/2012, 16:42
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Saber si existe una imagen

He probado lo siguiente:

Código PHP:
$imgInfo getimagesize$url_externa );
echo 
$imgInfo['mime'];
    
if (
$imagen = @file_get_contents($url_externa)){ //Compruebo si el fichero existe remoto
    
    // Tratar imagen
    
}else{ // La imagen no existe
    
echo "Imposible leer la imagen";

Pero mi duda es si se realizan dos peticiones iguales es decir que si la imagen o el archivo ocupase, por poner un ejemplo, 5 megas, ¿Estaría consumiendo 5 + 5 megas o la función getimagesize no se descarga la imagen igual que file_get_contents?

Lo sabéis?

Muchas gracias de antemano!




Muchas gracias
  #4 (permalink)  
Antiguo 24/02/2012, 16:47
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Saber si existe una imagen

Por supuesto que estas haciendo 2 peticiones por separado, si no como crees que getimagesize obtendría la información de la imagen si no la "descarga" primero
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 24/02/2012, 17:23
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Saber si existe una imagen

Y no hay ninguna forma que pueda saber si el "archivo" remoto existe y si se trata de una imagen o no, haciendo solo una petición?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:11.