强制下载图像通过PHP脚本工作,但图像只在油漆而不是Photoshop开放

时间:2012-03-22 12:09:44

标签: php

这是我执行下载的php脚本:

$link = 'www.example.com';
$url = urlencode($link);

$image = "http://chart.googleapis.com/chart?chs=75x75&cht=qr&chl=$url&choe=UTF-8&chld=L|0";
$filename = file_get_contents("$image");


header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

header("Content-Disposition: attachment; filename='qr code';");

header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));

echo $filename;

这会下载一个文件,但它只能在paint中打开,而不能在photoshop中打开。作为提示,似乎没有与文件关联的文件类型(例如png或jpg)。

我需要上面的所有标题,因此这适用于所有浏览器。

感谢。

1 个答案:

答案 0 :(得分:1)

也许在您的文件名标题中传递文件扩展名。

  

header(“Content-Disposition:attachment; filename ='qr_code.jpg';”);