Читайте файл по мере его загрузки - PullRequest
1 голос
/ 22 апреля 2010

По умолчанию вы не можете получить доступ к загруженному файлу, пока он не будет полностью передан на сервер.

Каков наилучший способ обойти это и получить доступ к «потоку байтов» во время загрузки файла?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

Я думаю, что в PHP вы ближе всего познакомитесь с различными решениями индикаторов выполнения, которые дают вам индикаторы выполнения при загрузке файлов в сценарий PHP.Я не знаю ни одного из них в деталях (я ждал, пока SWFUpload станет доступным, чтобы сделать это во Flash), но если вы можете добиться прогресса загрузки, скорее всего, вы можете получить и сами куски данных.( Обновление : решение на основе APC не может. Похоже, что оно дает только процесс загрузки.)

Проверьте этот вопрос , особенно этот ответ и этот .

Ни один из подходов не работает на чистом ванильном PHP, все они нуждаются в Perl, APC или других серверных компонентах для работы.

Последнее обновление : беглый взгляд на индикатор прогресса Raditha Mega Upload Perl-код заставляет меня думать, что это ваша лучшая ставка,кажется, что он взаимодействует с самим загружаемым файлом.Хотя никаких гарантий.

0 голосов
/ 22 апреля 2010

Вам понадобится какой-то буфер, куда будут добавляться новые данные и где вы будете читать кусками. Затем проверьте, есть ли новые данные, и прочитайте их снова.

...