检查远程 URL 上是否存在图像

2022-08-30 09:32:32

我正在为书籍ISBN生成图像的动态URL。我需要一种可靠的PHP方法来检查远程URL中的图像是否确实存在。我尝试了各种方法,使用不同的PHP库,curl等,但没有一个工作得很好,其中一些非常慢。鉴于我需要为数据库中的每本书生成(并检查!)大约60个URL,这是一个巨大的等待时间。有什么线索吗?


答案 1
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);

    $result = curl_exec($ch);
    curl_close($ch);
    if($result !== FALSE)
    {
        return true;
    }
    else
    {
        return false;
    }
}

-->,这是主机支持卷曲的最快方法


答案 2

使用 getimagesize() 方法,如下所示

$external_link = ‘http://www.example.com/example.jpg’;
if (@getimagesize($external_link)) {
echo  “image exists “;
} else {
echo  “image does not exist “;
}

推荐