2009-08-03 2 views
3

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

Спасибо.

+1

У вас есть страница руководства Zend_File? http://zendframework.com/manual/en/zend.file.html#zend.file.transfer.introduction.uploadprogress – smoove

ответ

12

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

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

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


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

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


Теперь, когда вы формируете в порядке, вы можете, наконец, взглянуть на Zend_ProgressBar, и в документации главе, описывающей Progress for file uploads

Ваш код будет, вероятно, выглядеть немного, как этот (со ссылкой на документ) :

$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, но может дать вам представление о том, что происходит ;-)


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

О том, что вам может быть интересно «замедлить» ваш локальный сетевой интерфейс; те могут помочь:


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

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

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