Php 已上载文档,无法在Zend framework 2中打开docx文件

Php 已上载文档,无法在Zend framework 2中打开docx文件,php,file-upload,zend-framework2,docx,doc,Php,File Upload,Zend Framework2,Docx,Doc,我正在尝试从用户上传简历到我的网站 因此,我已经重新限制了文件上传太doc,pdf和docx 文件上传系统如下图所示 上载后,当用户单击重命名的文件名(下面的“选择文件”按钮)时,将下载新上载的文件 PDF工作得很好。文档和docx文件已成功上载,但下载后无法打开 以下是我在cvAction文件中的代码片段:- $request = $this->getRequest(); if ($request->isPost()) { $post_data = $

我正在尝试从用户上传简历到我的网站

因此,我已经重新限制了文件上传太doc,pdf和docx

文件上传系统如下图所示

上载后,当用户单击重命名的文件名(下面的“选择文件”按钮)时,将下载新上载的文件

PDF工作得很好。文档和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"];
        } 

plz帮助解决问题。提前感谢

检查public/upload/cv是否包含您已上传的文件?如果没有,则可以检查文件夹权限。@AddWebSolutionPvtLtd:是的,有几个旧上载的文件,但不会出现问题,因为每个新文件在上载之前都会重命名。文件夹权限也可以。问题仅限于doc/docx文件。之后无法打开文档/docx文件download@Wilt:请举例说明在我的代码中在哪里/如何设置mime类型?我不确定哪里出错了。我的意思是,如果您无法打开
doc
/
docx
文件,则可能存在
mime类型
问题。在客户端下载时,这也可能是一个问题。只需检查上传/下载过程中不同步骤中的
mime类型
。。。