Я пытаюсь загрузить файл с ZF2, но файл не загружается. Форма представляется действительной. Что-то не так с моим кодом?Загрузка файла ZF2 не работает
Если я загружаю изображение с помощью php move_uploaded_files
, все работает должным образом.
Форма:
class LogoUploadForm extends Form {
public function init() {
$this->add([
'type' => 'File',
'name' => 'logo',
'attributes' => array(
'id' => 'logo-input'
),
]);
}
}
InputFilter:
class LogoInputFilter extends InputFilter {
public function init() {
$this->add([
'name' => 'logo',
'required' => true,
'filters' => [
[
'name' => 'File\RenameUpload',
'options' => [
'target' => './data/upload/',
'overwrite' => true,
'randomize' => true,
'use_upload_extension' => true,
]
]
],
'validators' => [
[
'name' => 'File\MimeType',
'options' => [
'magicFile' => false, //Important: https://github.com/zendframework/zf2/issues/6493
'mimeType' => ['image/jpeg', 'image/jpg', 'image/png', 'image/gif']
]
],
[
'name' => 'File\UploadFile',
],
[
'name' => 'File\Size',
'options' => [
'max' => '4MB'
]
]
]
]);
}
}
Контроллер:
class LogoController extends AbstractActionController {
public function uploadAction() {
$form = $this->logoUploadForm;
$request = $this->getRequest();
if ($request->isPost()) {
$form->setData(array_merge_recursive(
$request->getPost()->toArray(),
$request->getFiles()->toArray()
));
if ($form->isValid()) {
exit('valid');
} else {
exit('invalid');
}
}
}
}
Какая ошибка вы получаете? или поместите свой код в блок 'try'' catch'. –
Также вставьте сообщения об ошибках проверки из формы ('$ form-> getMessages()') – guessimtoolate
У меня нет сообщений об ошибках. мой скрипт выходит с сообщением «valid». Итак, все выглядит нормально, но файл не загружается ... –