如果<img src=""/>但没有图像

时间:2012-05-03 17:31:18

标签: php image

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

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

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

5 个答案:

答案 0 :(得分:17)

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

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

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

答案 1 :(得分: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

答案 2 :(得分:1)

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

if (file_exists($filename)) {
    echo "<img src='".$filename."'>";
} else {
    echo "<img src='no-image.png'>";
}
?>

答案 3 :(得分: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";
}
?>

答案 4 :(得分:0)

当您要求PHP解决方案时:

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

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