图像未移动到正确的文件夹 zend framework2

Image not moving to proper folder zend framework2

我开始处理 Zend Framework 图像 upload.The 代码没有显示任何错误,但图像没有移动到正确的目的地。

public function uploadAction()
    {
        error_reporting(E_ALL);
        ini_set('display_errors', 1);
        $form = new UploadForm();
        $form->get('submit')->setValue('Add');
        $request = $this->getRequest();
        if ($request->isPost()) 
        {
            $profile = new Upload();
            $form->setInputFilter($profile->getInputFilter());

            $nonFile = $request->getPost()->toArray();
            $File    = $this->params()->fromFiles('fileupload');
            $data = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray());
            //print_r($data);die;
            //set data post and file ...
            $form->setData($data);

            if ($form->isValid()) 
            {

                 $favicon = $data['fileupload']['name'];
                 $ext = pathinfo($favicon, PATHINFO_EXTENSION);
                 $faviconnewname = "_favicon." . $ext;
                 $favadapter = new \Zend\File\Transfer\Adapter\Http();
                 $favadapter->setDestination('public/img/upload'); //upload destination
                 $favadapter->addFilter('Rename', $faviconnewname, $favicon);
                 if($favadapter->receive($favicon))
                 {
                     echo "suceess";
                 }
                 else
                 {
                     echo "Failed";
                 }
                 die;
            }
        }
        return array('form' => $form);
    }

图片收不到,给失败message.Can你提前解决这个问题problem.Thanks

你写 "gives failed message" 显然出了问题。您应该尝试找出是什么以及为什么...我们所能做的就是根据您在问题中提供的信息进行猜测。

如果您阅读有关此文件适配器的 ZF2 文档 class here 然后您可以看到该适配器有一个 getMessages 方法.这可能会让您了解实际出了什么问题:

$adapter = new Zend\File\Transfer\Adapter\Http();
$adapter->setDestination('public/img/upload');

if (!$adapter->receive()) {
    $messages = $adapter->getMessages();
    echo implode("\n", $messages);
}

此代码片段直接来自官方文档!

您的最终 运行 代码确保您评论过滤器

public function uploadAction()
    {
        error_reporting(0);
        $em = $this->getEntityManager();
        $form = new UploadForm($em);
        $form->get('submit')->setValue('Add');
        $request = $this->getRequest();
        if ($request->isPost()) 
        {
            $profile = new Upload();
            $form->setInputFilter($profile->getInputFilter());

            $nonFile = $request->getPost()->toArray();
            $File    = $this->params()->fromFiles('fileupload');
            $data = array_merge_recursive($request->getPost()->toArray(), $request->getFiles()->toArray());
            //print_r($data);die;
            //set data post and file ...
            $form->setData($data);

            if ($form->isValid()) 
            {  
                 $favicon = $data['fileupload']['name'];
                 $ext = pathinfo($favicon, PATHINFO_EXTENSION);
                 $faviconnewname = "_favicon." . $ext;
                 $favadapter = new \Zend\File\Transfer\Adapter\Http();
                 $favadapter->setDestination('public/img/upload/'); //upload destination
                 //$favadapter->addFilter('Rename', $faviconnewname, $favicon);
                 if (!$favadapter->receive())
                 {
                     $messages = $adapter->getMessages();
                     echo implode("\n", $messages);
                 }
                 else
                 {
                     echo "success";
                 }
                // die;
            }
        }
//        if ($request->isPost()) 
//        {
//            $fname = $_FILES['fileupload']['name']; 
//            $tmp_name = $_FILES["fileupload"]["tmp_name"];
//            $uploads_dir = 'public/img/upload';
//            if(move_uploaded_file($tmp_name,"$uploads_dir/$fname"))
//            {
//                echo "Uploaded";
//            }
//            else
//            {
//                echo "Error";
//            }
//        }
        return array('form' => $form);
    }