Попробуйте использовать модуль xfilesend для Apache.

ользую функцию PHPвиртуальная () для отправки файлов через Apache 2.2 (работает быстрее, чемReadFile ()) и я могу проверить права доступа пользователя.

Но есть ли способ добавить поддержку непрерывной загрузки с HTTP_RANGE?

Я пробовал такие вещи

if(isset($_SERVER['HTTP_RANGE'])) { 
        list($a, $range)=explode("=",$_SERVER['HTTP_RANGE']); 
        str_replace($range, "-", $range); 
        $size2=$size-1; 
        $new_length=$size-$range; 
        header("HTTP/1.1 206 Partial Content"); 
        header("Content-Length: $new_length"); 
        header("Content-Range: bytes $range$size2/$size"); 
        apache_setenv('HTTP_RANGE', $_SERVER['HTTP_RANGE']);
    } else { 
        $size2=$size-1; 
        header("Content-Range: bytes 0-$size2/$size"); 
        header("Content-Length: ".$size); 
} 

Таким образом, веб-клиент загружал файлы, например, если HTTP_RANGE работает, но в реальном Apache просто посылает всегда одни и те же диапазоны файлов, например: если клиент запрашивает 4000-6000 байт, Apache отправляет 0-2000 и т. Д., Поэтому файлы были повреждены.

Я думаю, что есть какой-то способ сделать это с помощью apache_setenv, но не могу найти в Google никаких предложений по этому поводу.

Ответы на вопрос(0)

Ваш ответ на вопрос