2008-09-17 2 views
20

Я не могу найти много документации по X-Sendfile или пример кода для PHP (есть некоторый код rails).Использование X-Sendfile с Apache/PHP

Кто-нибудь использовал его раньше и не хотел бы давать быстрый фрагмент кода и краткое описание?

ответ

27

X-Sendfile является заголовок HTTP, так что вы хотите что-то вроде этого:

header("X-Sendfile: $filename"); 

Ваш веб-сервер поднимает его вверх, если правильно настроен. Вот еще некоторые детали:

http://www.jasny.net/articles/how-i-php-x-sendfile/

+0

Я следил за учебником по ссылке, но когда я загружаю файл с помощью mod-xsend, я получаю размер файла Двоичный файл (0 байт) ... Что я делаю неправильно? ОБНОВЛЕНИЕ: подумал сам. Мне нужно было добавить `#enable отправки файлов из родительских dirs` -> XSendFileAllowAbove On` в мой файл .htaccess, чтобы мои загрузки были из папки webroot. – 2013-03-29 09:45:59

+3

Для будущих читателей: XSendFileAllowAbove устарел; use XSendFilePath – Oli 2014-11-12 13:25:29

2

Если настройки конфигурации веб-сервера не вариант, рассмотрим стандартный readfile() function РНР. Это будет не так быстро, как sendfiling, но он будет более широко совместимым. Также обратите внимание, что при этом вы также должны отправить заголовок Content-Type, по крайней мере.

1

Да, на PHP есть подробный пример кода, иллюстрирующий X-Sendfile in this page. Вам также может потребоваться отправить this parent site также для загрузки и установки. Я следовал за учебником, и он работал для меня как шарм.