如何使用PHP检查特定URL上是否存在图像?

时间:2015-08-04 05:59:33

标签: php image url

假设我有一个应该代表图片的网址,即如果我在地址栏中输入相同的网址并点击它,图片就会显示在浏览器窗口中。

如果网址上没有任何图片,则应返回false,否则返回true。

如何使用PHP以高效可靠的方式完成这项工作?

3 个答案:

答案 0 :(得分:1)

我用这个小家伙:

@Override

使用类似:

function remoteFileExists($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if (curl_exec($ch)) return true;
    else return false;
}

答案 1 :(得分:0)

有两种选择:

  1. 您可以使用curl,在此处说明:How can one check to see if a remote file exists using PHP?

  2. 使用PHP file_exists():http://php.net/manual/en/function.file-exists.php

  3. 示例:

    $file = 'http://www.domain.com/somefile.jpg';
    $file_headers = @get_headers($file);
    if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
        $exists = false;
    }
    else {
        $exists = true;
    }
    

答案 2 :(得分:0)

试试这个

$ch = curl_init("https://www.google.com/images/srpr/logo11w.png");

curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
$retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if($retcode==200)
    echo 'File Exist';