2013-02-26 2 views
0

Моя системная память составляет 128M и задает memory_limit для 128M, может использовать php fread для загрузки файлов размером более 150M? Я не пытался! Можно скачать только 110M вокруг!О php memory_limit

благодарит всех,

$sent = 0; 
    $blocksize=(2 << 20); 

    $fp = fopen($download_path, "rb"); 
    while($sent < $size){ 
     echo fread($fp, $blocksize); 
     $sent += $blocksize; 
    } 
    exit(0); 

Я использую этот путь, так как я должен делать?

+0

Зависит от * как * вы загружаете эти файлы. Если вы читаете их в памяти, ну да, есть предел. Если вы передаете их прямо на диск, ограничений нет. – deceze

+0

fread позволяет вам читать куски файла, если я хорошо помню, ваша проблема может быть в другом месте. – mpm

ответ

2

Да, если вы не прочтёте их все в памяти целиком. Вы должны читать ваши файлы в кусках и обрабатывать эти куски по одному, если ваши требования позволяют вам. Это просто хорошая идея, независимо от того, что вы делаете, и независимо от того, сколько у вас RAM.

+0

Итак, как читать файлы в кусках и обрабатывать эти куски по одному за раз? благодаря! – user1933513

+0

Время на чтение документации. Какую книгу вы используете? –

+1

У меня нет книг, не совсем понимаю, что вы имеете в виду? – user1933513

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