Мой код, пути правильные и длина содержимого правильная
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
Что я сделал не так?
Вот и получается, что нужно использовать
XSendFile on
В вашем основном Apache2 conf иначе он нигде не будет работать
Других решений пока нет …