检查图像是否存在php

时间:2013-02-20 00:38:57

标签: php

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

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

此图片网址已存在但图片现已删除,因此它只会在我的搜索页面中显示为空白。有没有办法检查网址上是否有图像,然后显示占位符(如果它不存在)。

类似

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

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

但所有这一切都是检查网址是否存在,它确实存在没有图像

提前致谢

3 个答案:

答案 0 :(得分:25)

使用getimagesize()确保网址指向有效图片。

if (getimagesize($imageURL) !== false) {
    // display image
}

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

答案 2 :(得分: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';
}