0

我正在尝试使文件可在 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 文件。

我想我发送的标题有问题。可能是什么错误?

4

1 回答 1

5

试试这个。

<?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']是非常危险的。可用于危害整个服务器应用程序!

于 2012-07-30T17:33:48.940 回答