Я пытаюсь загрузить резюме на свой сайт от пользователей.
поэтому я ограничил загрузку файлов тоже doc, pdf и docx.
Система загрузки файлов похожа на следующее изображение
после загрузки, когда пользователь нажимает на переименованное имя файла (ниже кнопка «выбрать файл»), новый загруженный файл будет загружен.
PDF работает хорошо. Документы doc и docx успешно загружены, но не могут открыться после загрузки.
Вот мой фрагмент кода из файла cvAction: —
$request = $this->getRequest();
if ($request->isPost()) {
$post_data = $request->getPost();
$nonFile = $request->getPost()->toArray();
$File = $this->params()->fromFiles('attachment');
if ($File['name'] != "") {
$post_data = array_merge($nonFile, array('attachment' => $File['name']));
$size = new Size(array('max' => '1MB')); //minimum bytes filesize
$adapter = new \Zend\File\Transfer\Adapter\Http();
$adapter->setValidators(array($size), $File['name']);
$extensionvalidator = new \Zend\Validator\File\Extension(array('extension' => array('pdf', 'doc', 'docx')));
$adapter->setValidators(array($extensionvalidator), $File['name']);
if (!$adapter->isValid()) {
$dataError = $adapter->getMessages();
$error = array();
foreach ($dataError as $key => $row)
$message .= $row;
// $form->setMessages(array('fileupload' => $error));
$is_validation_error = 1;
} else {
//$adapter->setDestination(dirname(__DIR__) . '/assets');
$adapter->setDestination('public/upload/cv');
$extension = pathinfo($File['name'], PATHINFO_EXTENSION);
$new_file_name = strtolower($full_name) . "_" . date('dmyHis') . '.' . $extension;
$adapter->addFilter('File\Rename', array(
'target' => $adapter->getDestination() . '/' . $new_file_name,
'overwrite' => true
));
$adapter->receive($File['name']);
/*
if ($adapter->receive($File['name'])) {
}
*/
}
} else {
$new_file_name = $cv_check["upload_cv"];
}
Пожалуйста, помогите решить проблему. заранее спасибо
Задача ещё не решена.
Других решений пока нет …