Zend framework2 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

如何在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\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验证,这比使用类似的验证程序要简单得多,请参见以下示例:


是的。第一个文件已上载。无法上载第二个文件。谢谢。输出略有改善。我遵循了你的解决方案。我可以在第一次和第二次文件上传中上传不同的文件。如果我在第一次和第二次文件上传中都上传了相同的文件,那么它就不起作用了。