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

php how to get image from url without knowing extension

我想从给定的 url 中检索图像,我有文件名,但我遇到的问题是扩展名未知。它可以是 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;
        }
    }

有什么建议吗?

由于文件不在现场,请检查 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