13

我正在编写一个属性门户。我一直在检查图像。我知道如何检查是否设置了图片网址。但问题是检测 url 上是否确实存在有效图像。

示例: http: //property.images.themovechannel.com/cache/7217/6094437/img_main.jpg

此图片网址存在,但该图片现已被删除,因此它在我的财产搜索页面中仅显示为空白。有没有办法检查 url 上是否有图像,如果不存在则显示占位符。

就像是

$imageURL = "http://property.images.themovechannel.com/cache/7217/6094437/img_main.jpg";

if (exists($imageURL)) { display image } 
else { display placeholder }

但这所做的只是检查 url 是否存在,它确实没有图像

提前致谢

4

3 回答 3

28

用于getimagesize()确保 URL 指向有效图像。

if (getimagesize($imageURL) !== false) {
    // display image
}
于 2013-02-20T00:44:14.580 回答
8
function exists($uri)
{
    $ch = curl_init($uri);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    return $code == 200;
}
于 2013-07-12T10:45:48.030 回答
0
function is_webUrl($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;
    }
}

if(is_webUrl('http://www.themes.tatwerat.com/wp/ah-personal/wp-content/uploads/2016/08/features-ah-wp-view.jpg')) {
   echo 'yes i found it';
}else{
   echo 'file not found';
}
于 2016-10-02T11:23:00.677 回答