Реализация процесса загрузки файлов с Zend - PullRequest
3 голосов
/ 03 августа 2009

Привет, я пытаюсь реализовать процесс загрузки с Zend, однако я не нашел подробных руководств. Указатель будет полезен.

Спасибо.

1 Ответ

12 голосов
/ 03 августа 2009

Я не помню, чтобы когда-либо видел подробное руководство, объясняющее, как получить индикатор выполнения для загрузки с Zend Framework; но вот несколько советов, которые вам должны немного помочь, если вы уже знаете, что такое PHP, загрузка файлов и Zend Framework ...

Прежде всего, вам понадобится одно из двух установленных расширений PHP:

Это означает, что вы сможете получить такой индикатор выполнения, только если вы являетесь администратором своего сервера (такие расширения обычно не устанавливаются по умолчанию - и не используются на общем хостинге)


Затем вы должны использовать некоторые специальные «скрытые» поля в форме загрузки; об этом вы можете взглянуть на опции конфигурации APC ; особенно те, которые связаны с RFC 1867.

Если вы используете Zend Framework, я полагаю, вы уже используете Zend_Form_Element_File в своей форме. Он уже должен делать то, что необходимо для этих полей - вам лучше это проверить, кстати, кстати.


Теперь, когда ваша форма в порядке, вы можете, наконец, взглянуть на Zend_ProgressBar и на главу документации, которая описывает Ход загрузки файлов

Ваш код, вероятно, будет выглядеть примерно так (цитируя документ) :

$adapter = new Zend_ProgressBar_Adapter_Console();
$upload  = Zend_File_Transfer_Adapter_Http::getProgress($adapter);

$upload = null;
while (!$upload['done']) {
    $upload = Zend_File_Transfer_Adapter_Http:getProgress($upload);
}

И, чтобы регулярно получать эту информацию, вам нужно будет выполнить опрос с веб-страницы, используя какие-то запросы Ajax.


О расширении uploadprogress вы можете взглянуть на эти статьи:

Эти посты не предназначены специально для Zend Framework, но могут дать вам представление о том, что происходит; -)


Кстати, вы, вероятно, захотите протестировать все это на своем локальном компьютере, который проще в разработке ... И это будет означать, что загрузка файла действительно будет быстрой ; что не совсем хорошо для тестирования любого индикатора загрузки прогресса ...

Об этом вам может быть интересно "замедлить" интерфейс локальной сети; это может помочь:


Надеюсь, это поможет хоть немного ; -)

И, пока вы занимаетесь этим: почему бы вам не записать свои выводы в какое-то хорошее и подробное руководство? Это может быть полезно для некоторых людей ; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...