我的代码,路径正确且内容长度正确
header("X-Sendfile: " . $savePath);
header('Content-Length: ' . filesize($savePath));
header("Content-type: $type");
header('Content-Disposition: attachment; filename="' . basename($localFilename) . '"');
exit();
我的.htaccess
<Files file.php>
XSendFile on
</Files>
这总是会导致零文件下载。
该文件肯定存在于正确的位置。使用curl -I
向我显示以下似乎没问题。但该文件仍为零字节。
HTTP/1.1 200 OK
Date: Sat, 21 Feb 2015 11:35:37 GMT
Server: Apache/2.2.29 (Amazon)
X-Powered-By: PHP/5.3.29
X-Sendfile: /var/www/html/cache/72b08eb707bb5eab58d8e5d7d9b21bb8.jpeg
Content-Length: 10004
Content-Disposition: attachment; filename="72b08eb707bb5eab58d8e5d7d9b21bb8.jpeg"
Connection: close
Content-Type: image/jpeg
我做错了什么?
答案 0 :(得分:2)
事实证明你需要使用
XSendFile on
在您的主Apache2 conf中,否则无法在任何地方使用