使用PHP来“解析”带有响应标题“ content-type:image / jpeg”的图像

时间:2019-05-22 06:23:01

标签: php image download

我正在从graph.facebook.com请求图像

响应头使用“内容类型:image / jpeg”,并提示我下载而不是在浏览器中显示。

是否有一种方法(使用PHP)“拦截”下载并将其转换为图像格式?

干杯。

更新:

这种作品。它将图像返回到浏览器(在Chrome的“网络”标签中可见),但是我不确定如何在<img>标签中显示图像:

<?php
$data = file_get_contents("https://www.petmd.com/sites/default/files/what-does-it-mean-when-cat-wags-tail.jpg");

// $data = base64_decode($data);

$im = imagecreatefromstring($data);

if ($im !== false) {
    header('Content-Type: image/png');
    $qwe = imagepng($im);
    imagedestroy($im);
    return $qwe;
}
else {
    echo 'An error occurred.';
}
?>

1 个答案:

答案 0 :(得分:1)

您的代码无效。请勿从非函数中使用yellow,因为这没有任何意义。如果您的情况需要替换

return

简单地

return $qwe;

我还希望紧随其后的是echo $qwe; ,并删除结束语die();。那应该是使它工作所需的全部。

不确定获取JPEG文件但输出PNG思想有什么意义。除了浪费时间和资源,您什么都没有得到,因此整个转换代码几乎没有用,并且回显您刚刚下载的内容应该足够了:

?>

PS:作为一项家庭作业,不要使用header('Content-Type: image/jpeg'); $data = file_get_contents("....."); if ($data !== false) { echo $data; } die(); 进行网络访问,而应使用cURL,尤其是。可以禁用以前使用的网络包装程序。

相关问题