2012-05-30 2 views
0

Я пишу скрипт php, который помогает с ограничением скорости и соединениями в файлах загрузки. Я использовал fopen() и fseek() что-то вроде этого:- это полный файл загрузки php, когда мы используем команду fopen()

$f = fopen($file, 'rb'); 
if($f){ 
    fseek($f,$start);//$start extracted from $_SERVER['HTTP_RANGE'] 
    while(!feof($f)){ 
     echo fread($f,$speed);//$speed is bytes per second 
     flush(); 
     ob_flush(); 
     sleep(1); 
    } 
    fclose($f); 
} 

процесс загрузки может занять несколько часов, чтобы закончить, не весь файл находится в памяти до конца загрузки? и как я могу это оптимизировать?

ответ

6

No, fread использует внутренний буфер для потоковой передачи данных (по умолчанию 8 КБ), поэтому только очень маленькая часть файла находится в памяти.

Смежные вопросы