Zend framework2 Zend Framework 2-如何上载多个文件?
如何在Zend Framework 2中上载多个文件。我已经完成了这项工作。但是,对于第二个文件,我得到了以下错误Zend framework2 Zend Framework 2-如何上载多个文件?,zend-framework2,Zend Framework2,如何在Zend Framework 2中上载多个文件。我已经完成了这项工作。但是,对于第二个文件,我得到了以下错误 'first-filename' was illegally uploaded. This could be a possible attack. 供参考 $size = new Size(array('max' => 1048576)); $adapter= new \Zend\File\Transfer\Adapte
'first-filename' was illegally uploaded. This could be a possible attack.
供参考
$size = new Size(array('max' => 1048576));
$adapter= new \Zend\File\Transfer\Adapter\Http();
$File = $this->params()->fromFiles('logo');
$adapter->setValidators(array($size), $File['name']);
$FileName = '';
if (!$adapter->isValid()){
$dataError = $adapter->getMessages();
$error = array();
foreach($dataError as $key=>$row)
{
$error[] = $row;
}
} else {
$adapter->setDestination(path);
if ($adapter->receive($File['name'])) {
// manipulation
}
}
$logoFile = $this->params()->fromFiles('logo2');
$adapterLogo = new \Zend\File\Transfer\Adapter\Http();
$adapterLogo->setValidators(array($size), $logoFile['name']);
$logoFileName= '';
if (!$adapterLogo->isValid()){
$dataError = $adapterLogo->getMessages();
$error = array();
foreach($dataError as $key=>$row)
{
$error[] = $row;
}
} else {
$adapterLogo->setDestination(path2);
if ($adapterLogo->receive($logoFile['name'])) {
// manipulation
}
}
我如何解决这个问题?为什么会发生此错误 您是否确保您的表单上有正确的enc类型
$form->setAttribute('enctype','multipart/form-data');
将文件名也添加到isValid检查中
if($adapterLogo->isValid('logo2')) { /** .. **/ }
如果您使用表单为您的reather验证,这比使用类似的验证程序要简单得多,请参见以下示例:
是的。第一个文件已上载。无法上载第二个文件。谢谢。输出略有改善。我遵循了你的解决方案。我可以在第一次和第二次文件上传中上传不同的文件。如果我在第一次和第二次文件上传中都上传了相同的文件,那么它就不起作用了。