Я использую функцию PHP virtual () для отправки файлов Apache 2.2 (она работает быстрее, чем readfile () ), и я могу проверить права доступа пользователей.
Но есть ли способ добавить непрерывную поддержку загрузки, с HTTP_RANGE?
Я пробовал такие вещи
if (isset ($ _ SERVER ['HTTP_RANGE'])) { list ($ a, $ range) = explode ("=", $ _ SERVER ['HTTP_RANGE']); str_replace ($ range, "-", $ range); $ Size2 = $ размер-1; $ New_length = $ Размер- $ Диапазон; header («Частичное содержимое HTTP / 1.1 206»); header («Content-Length: $ new_length»); header («Content-Range: bytes $ range $ size2 / $ size»); apache_setenv ('HTTP_RANGE', $ _SERVER ['HTTP_RANGE']); } else { $ Size2 = $ размер-1; header («Content-Range: bytes 0- $ size2 / $ size»); header ("Content-Length:". $ size); }
Таким образом, веб-клиенту были загружены файлы, например, если HTTP_RANGE работает, но в реальном Apache просто отправляет всегда те же диапазоны файлов, что и: если клиент запрашивает 4000-6000 байт, Apache отправляет 0-2000 и т. Д., Поэтому файлы были сломаны.
Я думаю, что есть способ сделать это с помощью apache_setenv, но не могу найти в Google никаких предложений об этом.
Попробуйте использовать модуль xfilesend для Apache.