php如何在不知道扩展名的情况下从url获取图像

时间:2015-05-19 14:50:53

标签: php file-exists

我想从给定的网址中检索图片,我有文件名,但问题是扩展名未知。它可以是jpg,gif或png。

这就是我接近它的方式,但似乎没有起作用:

$extensions = array('jpg', 'png', 'gif');
    foreach ($extensions as $ext) {
        if (file_exists('https://mytestimage.com/products/3c763dce-666b-4ba9-a05a-cca846391aea/thumb.' . $ext)) {
            echo 'Found filename.' . $ext;
            break;
        }
    }

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

由于该文件是非现场的,请检查URL是否存在。

$file = 'http://example.com/image.jpg';
$fileHeaders = @get_headers($file);
if( $fileHeaders[0]=='HTTP/1.1 404 Not Found')
{
    // File doesn't exist
}
else
{
    // File exists
}

您可以将此逻辑应用于循环以获取不同的扩展名。

参考文献:PHP.net& SO