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ソリューションを求めたように:

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

重要: リモート ファイルではなく、ローカル ファイルに対してのみ機能します。Szymon さん、コメントありがとうございます!

于 2012-05-03T17:39:38.343 に答える
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 に答える