我的index.php
链接就像这样:
<a href="download.php?url=http://example.com/image.jpg">Download</a>
我需要在您点击该链接时打开下载拨号以保存具有myfile123.jpg
等特定名称的照片。
在我的download.php
我有这个:
header('Content-type:image/jpeg');
$handle = fopen($_GET['url'], "rb");
while (!feof($handle)) {
echo fread($handle, 8192);
}
fclose($handle);
在检索图像时,它只是在同一个标签中打开它(而不是强制对话框)。
答案 0 :(得分:2)
来自php.net的例子:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
答案 1 :(得分:1)
您需要添加另一个header
才能触发下载,例如:
header('Content-Disposition: attachment; filename="image.jpg"');
有关
Content-Disposition
标题的详细信息,请访问:https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Content-Disposition