Попробуй это:
аюсь загрузить файлы в обычной форме с другими текстовыми полями.
Пока что файл загружается во временную папку, но не в папку назначения, я всегда получаю эту ошибку «Файл« загрузить »был незаконно загружен. Это может быть возможной атакой».
Я проверил имя файла временного файла, и у него правильный URL в правильной папке.
Что мне здесь не хватает.
$form = new Zend_Form();
$form->setAttrib('enctype', 'multipart/form-data');
$form->setMethod('post')
->addElement('file', 'pdf', array(
'size' => '40',
'label' => 'Select File',
'required' => true,
'validators' => array(
'Size' => array('min' => 20, 'max' => 1000000)
)
)
)
->addElement('submit', 'Save')
;
if ( $this->getRequest()->isPost() ) {
if ( $form->isValid($this->getRequest()->getParams()) ) {
$id = $form->getValue('name');
$upload = new Zend_File_Transfer_Adapter_Http();
$uploadDestination = APPLICATION_PATH . '/../public/uploads/'.$id;
if(!is_dir($uploadDestination)){
mkdir($uploadDestination, 0777, true);
}
$upload->setDestination($uploadDestination);
echo $upload->getFileName();
if($upload->receive('pdf'))
{
echo '<pre>';
print_r($form->getValues());
die();
}
else
{
$messages = $upload->getMessages();
echo implode("\n", $messages);
die();
}
$ Upload-> получить ( 'PDF'); это то, что не работает должным образом.