Как загрузить один файл в несколько папок?

Как загрузить один файл в несколько папок с помощью Zendframe работы. Когда я пытался сохранить изображение только в основной папке, а не в подпапках.
Вот код, который я использовал в своем контроллере.

 $apt    = new Zend_File_Transfer_Adapter_Http();
$files  = $apt->getFileInfo();
foreach($files as $file => $fileInfo) {
$apt->addFilter('Rename', array('target' => 'images/practice/'.$fileInfo['name'],'overwrite' => true));
$apt->addFilter(new Zend_Filter_File_Resize(array('width' => 500,'height' => 600  ,'keepRatio' => true,'directory'=>'images/practice/small/', 'overwrite'=>true)));
$apt->addFilter(new Zend_Filter_File_Resize(array('width' => 300,'height' => 300,'keepRatio' => true,'directory'=>'images/practice/thumbs/', 'overwrite'=>true)));
if ($apt->isUploaded($file)) {
if ($apt->isValid($file)) {
if ($apt->receive($fileInfo['name'])) {
$info = $apt->getFileInfo($file);
}
}
}
else{
echo 'not uploaded<br>';
}
}

Пожалуйста, помогите мне, спасибо заранее.

2

Решение

Я думаю, что вы должны написать свои собственные фильтры для этого. Я не проверял источник текущих фильтров, но все они переименовывают / перемещают файл, а не копируют его. Если вы хотите создать миниатюры изображения, вам, вероятно, следует расширить фильтр изменения размера Zend и скопировать результат в целевой каталог, а не перемещать / копировать его. Не должно быть очень сложно расширить этот класс и изменить несколько строк.

После того, как вы это сделали, вы должны использовать свой собственный фильтр изменения размера, а не ZF. Следите за порядком добавления фильтров. Если вы сначала переименуете файл, я не уверен на 100%, сможет ли ваш собственный фильтр изменения размера определить местоположение файла.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]