0

我对 PHP 7.4 有疑问。以下场景:我有一个名为“image.php”的文件,其中附加了一个参数“url”。这将加载外部图像。为了确保它是 PNG,我通过 curl 检查了 MIME 类型。使用 PHP 7.3(及更低版本)它可以正常工作,但 PHP 7.4 不返回图像,它返回错误消息(the('No png file'))。

一小部分代码:

$cURL = curl_init($_GET['url']);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_exec($cURL);
$curl_info = curl_getinfo($cURL, CURLINFO_CONTENT_TYPE);
if ($curl_info == 'image/png') die('No png file');
header('Content-type:'.$curl_info);
readfile($_GET['url']);

任何人都知道为什么它在 PHP 7.4 下不起作用?

4

1 回答 1

0

为什么PHP 7.3工作正常?你想在这里完成什么?

如果您想显示图像的类型,PNG您不认为您应该在代码中明确指定吗?

$cURL = curl_init($_GET['url']);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_exec($cURL);
$curl_info = curl_getinfo($cURL, CURLINFO_CONTENT_TYPE);
if ($curl_info == 'image/png') {
    header('Content-type:' . $curl_info);
    readfile($_GET['url']);
} else {
    die('No png file');
}

顺便说一句,上面的代码完美地显示了图像PHP 7.4PHP 7.3当且仅当图像的类型是PNG

于 2019-12-15T10:11:55.160 回答