如何检测损坏的图像并替换为另一个?

时间:2012-01-18 13:28:54

标签: php html

我有一个页面,显示来自不同远程服务器的大量图像。 http://example.com/img/email_star0.png'height ='150'/>

现在假设这个图像不存在,我的html中有一个(x)。无论如何我可以检测到这个图像不存在并用本地图像替换这个(x)而不必使用Curl检查文件是否存在于远程服务器上(或者使用JQuery),从而节省时间?这可以在当地完成吗?

感谢您的帮助

3 个答案:

答案 0 :(得分:18)

是的,可以使用onerror事件:

<img src="your_image_source" onerror="this.src='/path/to/local/file'">

如果图像不存在,则会显示本地文件夹中的默认图像,而不是显示X

答案 1 :(得分:3)

我不认为可以在不使用curl或jQuery的情况下检查远程服务器上是否存在图像。但是jQuery片段下面会对图像加载错误做出反应,将其替换为本地错误,也许这就是你要找的东西。

$(document).ready(function(){
  $('img').error(function(){
     $(this).attr('src', 'http://mysite/myimage.jpg');
  });
});

答案 2 :(得分:3)

您可以直接在图片代码中使用'onerror'属性:

<img src="my_images.jpg" onerror="this.src='my_replacement.jpg'">