¿Cómo detectar una imagen que arroja 403 al usarla en la etiqueta IMG?

  • Autor Autor Okaro
  • Fecha de inicio Fecha de inicio
Okaro

Okaro

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Saludos!!

Me explico. Tengo una web de afiliados, donde la imagen del vídeo, es la original de la página del afiliado (url externa). El caso, es que al usarla en mi web con la etiqueta html: <img src="aqui url de la imagen"> me arroja un error 403 (Forbbiden), vamos, que no me deja usarla de forma remota.

Quisiera saber como detectar con PHP este error 403, ya que si uso Curl o Getheaders, me arroja un código 200, o sea, que es accesible, de hecho puedo descargarla con Curl o file_get_contents (cosa que no quiero), pero no puedo usar la imagen de manera remota.

Quiero saber si hay alguna manera de detectar este tipo de imágenes que no puedo usar, para usar una por defecto que tenga yo en el servidor.

Gracias.
 
Puedes intentar hacer esto únicamente con HTML, es lo que uso en mi día a día.

PHP:
<img id="prod_img_martiProd-29077" class="fade-in-on-load" src="martigrid.jpg" onerror="this.onerror=null;this.src='/img/NO_IMAGE_AVAILABLE_GRID.gif';" alt="Imagen de muestra">
 
A veces lo mas sencillo es lo mejor. Acabo de modificar la plantilla con el código que me has dado y todo perfecto.

Nunca había probado el 'onerror', así que una cosa mas que he aprendido.

Muchas gracias [MENTION=7840]Cazamitos[/MENTION] !!
 
Bueno si ya detectaste cual es el problema solo te queda usar la logica de PHP, si dices que las funciones que usas para comprobar si la imagen es apta para usarse de forma remota o no, te reitero usa la logica. si dices que el erro es 200.<?php if(condicion a evaluar si existe): ?><img src="url remota"/><?php endif; ?>
<?php if(condicion a evaluar si NO existe): ?><img src="url del servidor"/><?php endif; ?>

creo algo asi estas buscando hacer
 
Atrás
Arriba