1

私はデータベースから画像のURLを取得し、次のようにphpで画像を表示することを回避しています

<?php    

$row['blog_url'] = "http://www.nasa.gov/images/content/711375main_grail20121205_4x3_946-710.jpg";

<img src="<?php echo $row['blog_url']; ?>"  height="200" width="200" alt="image"/>

?>

しかし、画像がblog_urlとして指定されたURLからロードされない場合は、no_imgae.jpegを表示したい

画像が存在するかどうかを確認する方法がphpにあるかどうか

前もって感謝します...

4

3 に答える 3

3

この関数はあなたの問題を解決します:

function checkRemoteFile($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    // don't download content
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if(curl_exec($ch)!==FALSE)
    {
        return true;
    }
    else
    {
        return false;
    }
}

image urlこれを渡すだけで、画像が存在する場合functionは返されます。yesfalse

于 2013-03-18T13:19:48.060 に答える
1
$file = "http://www.nasa.gov/images/content/711375main_grail20121205_4x3_946-710.jpg";
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
    $exists = false;
}
else {
    $exists = true;
}
于 2013-03-18T12:50:42.413 に答える
0
<?
$img = $row['blog_url'];
$headers = get_headers($img);
if(substr($headers[0], 9, 3) == '200') {
?>
<img src="<?php echo $img; ?>"/>
<?
} else {
?>
<img src="noimage.jpg"/>
<?
}
?>
于 2013-03-18T12:52:52.120 に答える