出于安全原因,我在public_html上面的文件夹中托管了一个文档 - 将文件移动到Web根目录不是一种选择。
我正在尝试通过readfile()访问它们,但无论我下载的是0字节和空文件。我认为问题是“Content-Length”标头没有得到正确的值,因为filesize($ target)没有输出。
有什么想法?代码包括:
header('Content-Description: File Transfer');
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Transfer-Encoding: binary");
header("Pragma: public");
$file="../docs/$c/$path";
$size=filesize($file); //i think this line is the problem
header ("Content-Length: $size");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename\"");
readfile($file_url);
答案 0 :(得分:2)
我没有在您的代码中定义$file_url
。也许它应该是$file
:
header('Content-Description: File Transfer');
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Transfer-Encoding: binary");
header("Pragma: public");
$file="../docs/$c/$path";
$size=filesize($file); //i think this line is the problem
header ("Content-Length: $size");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename\"");
readfile($file);
我也没有看到$filename
定义。