1

可能重复:
允许用户在 webroot 之外下载文件

大家好,我想使用 php 来允许用户从我的服务器上不属于我的“网络”文件的目录下载文件......有没有办法做到这一点?

例如

我的网络文件在 /www/bla/bla

但我要下载的文件在 /home/bla/bla

4

1 回答 1

2

你可以做的是这样的:

$file = '/home/bla/bla/file.ext';    

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;

readfile()只是检索文件的内容并打印出来。其余代码是强制下载。

于 2012-06-05T18:24:00.557 回答