2012-03-23 5 views
2

У меня есть форма, содержащая два элемента файла с уникальным именем. Я хочу достичь каждого элемента файла из Zend_File_Transfer_Adapter_Http(); Как я могу это сделать? , если я используюzend framework для загрузки нескольких входных файлов

 
$apt = new Zend_File_Transfer_Adapter_Http(); 
. 
. 
$apt->receive(); 

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

, например

 
$smallPic = small pic name that i get from input smallPic 
i execute 
update products set smallPic = '$smallPic' 
and for large pic 
$largePic = large pic name that i get from input largePic 
i execute 
update products set largePic = '$largePic' 

как я могу дойти до каждого файла элемента ввода с $ склонный?

ответ

4

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

Поскольку вы знаете имена двух загрузки файлов, вы можете также сказать $apt->getFileInfo('my_file');

$apt = new Zend_File_Transfer_Adapter_Http(); 
$files = $apt->getFileInfo(); 

foreach($files as $file => $fileInfo) { 
    if ($apt->isUploaded($file)) { 
     if ($apt->isValid($file)) { 
      if ($apt->receive($file)) { 
       $info = $apt->getFileInfo($file); 
       $tmp = $info[$file]['tmp_name']; 
       $data = file_get_contents($tmp); 
       // here $tmp is the location of the uploaded file on the server 
       // var_dump($info); to see all the fields you can use 
      } 
     } 
    } 
} 

Надежда, что помогает.

+0

doh! как я могу забыть метод getFileInfo(). спасибо за ответ, foreach loop не помогает, но я могу достичь элемента с $ file = $ apt-> getFileInfo ('smallPic'); и последний вопрос Я думаю, что все элементы файлов обрабатываются одним файловым адаптером zend. есть ли способ создать другой адаптер? или это хорошая практика? – hrnsky

+0

Вполне возможно использовать один адаптер, если вы используете 'Zend_Form' для создания своей формы, тогда вам не нужно использовать' Zend_File_Transfer' вручную, так как 'Zend_Form' может позаботиться о большей части работы. См. [Zend_Form_Element_File] (http://framework.zend.com/manual/en/zend.form.standardElements.html#zend.form.standardElements.file) – drew010

+0

Желательно, чтобы в документации был приведен простой пример с несколькими файлами. – chrishiestand

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