Zend Framework загрузка нескольких входных файлов - PullRequest
2 голосов
/ 23 марта 2012

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

$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'

как мне получить доступ к каждому элементу входного файла с помощью $ apt?

1 Ответ

4 голосов
/ 24 марта 2012

Вот код, который я использовал в прошлом для получения нескольких файлов из 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
            }
         }
     }
}

Надеюсь, это поможет.

...