在Safari中强制下载文件

时间:2012-07-30 13:26:29

标签: php file safari http-headers

我正在尝试在Safari中下载文件。 这是我的代码:

<?php
$file = $_GET['file'];
header ("Content-Disposition: attachment");
header ("Content-type: application/octet-stream");
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($file);
exit;
?>

它在FF中工作正常但在Safari中我得到一个0kb的文件。

我认为我发送的标题中有错误。 可能是什么错误?

1 个答案:

答案 0 :(得分:4)

试试这个。

<?php
$file = $_GET['file'];
header('content-type: application/octet-stream');
header('content-Disposition: attachment; filename='.$file);
header('Pragma: no-cache');
header('Expires: 0');
readfile($file);
?>

注意:依赖$_GET['file']没有任何卫生或限制是非常危险的。可用于危害整个服务器应用程序!