Como detectar uma imagem que retorna 403 ao usá-la na tag IMG?

  • Autor Autor Okaro
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Okaro

Okaro

Épsilon
Usuário com poucas negociações! Use sempre o saldo do 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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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
 
Voltar
Topo