图片错误时如何获取默认图片

How do I get a default picture when a picture errors

我正在尝试从数据库中获取图片并在我的网站上回显它,一切都按我想要的方式运行,但现在我遇到了一个小问题,如果图片还没有名称,或者它会出错 (就像一个 404 错误),我得到一个丑陋的小破损图像图标。

当我收到错误时,我可以得到一个默认图像吗?我试过了,但它只适用于尚未设置名称的地方。

if(!empty($filename)){ echo $filename;} else{ echo "pf.png"; }

在图片标签中插入:

onerror="this.src='[img src]'"

既然你说它与 "pf.png" 一起工作,我假设你至少正确使用了文件名。因此,如果您看到损坏的图像,则意味着资源无法加载,因为它不存在或无法检索。

所以你还必须在尝试使用之前检查图像是否存在:

if(!empty($filename) && file_exists($filename) { 
  echo $filename;
} else { 
  echo "pf.png"; 
}

要执行此操作 php,您必须检查文件是否存在。如果图像的 link 结束 "http:/www.*"

,您将无法执行此操作

上面的 Clément Malet 代码工作正常。

您可以在此处阅读有关 file_exitsts 函数的更多信息: http://php.net/manual/en/function.file-exists.php

如果 link 图像已结束 [​​=21=] 您可以使用 jquery。 把这段代码放在</body>之前记得加上jquery

$(document).ready(function(){
    $("img").error(function(){
       $(this).attr("src", "http://google.dk/default.php");     
   })
   .each(function() {
       $(this).attr("src",$(this).attr("src")); 
   });
})