2

当尝试显示地址不存在的图像时,您将看到默认浏览器“无图像”徽章。

如何将其更改为默认的“no-image.png”占位符?

echo "<img src='http://www.google.com/trolol.png'>"; //for example
4

5 回答 5

18

您可以使用该onerror属性,例如:

<img src="" onerror="this.src = 'no-image.png';" alt="" />

演示:http: //jsfiddle.net/kNgYK/

于 2012-05-03T17:34:24.820 回答
5
<img src='http://www.google.com/trolol.png' onerror="this.src='http://jsfiddle.net/img/logo.png'">​

示例http://jsfiddle.net/UPdZh/1/

如果在加载外部文件(例如文档或图像)时发生错误,则会触发 onerror 事件。

句法

<element onerror="SomeJavaScriptCode">

http://wap.w3schools.com/jsref/event_onerror.asp

于 2012-05-03T17:35:21.040 回答
1
<?php
$filename = 'http://www.google.com/trolol.png';

if (file_exists($filename)) {
    echo "<img src='".$filename."'>";
} else {
    echo "<img src='no-image.png'>";
}
?>
于 2012-05-03T17:36:07.317 回答
0

试试这个

<?php
$filename = 'http://www.google.com/trolol.png';

if (file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";
}
?>
于 2012-05-03T17:36:17.813 回答
0

正如您要求的 PHP 解决方案:

if (file_exists($filename)) {
  echo "i_exist.jpg";
} else {
  echo "fallback.jpg";
}

重要提示:仅适用于本地文件,不适用于远程文件!感谢 Szymon 的评论!

于 2012-05-03T17:39:38.343 回答