我正在从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.';
}
?>
答案 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,尤其是。可以禁用以前使用的网络包装程序。