move_uploaded_file()无法处理视频/音频/ pdf

时间:2019-02-24 15:20:04

标签: php

我已经完成了一个上传页面,该页面应该上传文件并在数据库中设置它们的名称。它与图片完美配合,但是声音格式和其他格式似乎不起作用。

这是我的html部分的外观

            <form method="post" enctype="multipart/form-data">

                                    <div class="card card-login">
                      <?= FH::csrfInput() ?>


                 <div class="card-header text-center" data-background-color="rose" >
                         <h3 class="card-title">Upload</h3>
                     </div>

                   <div class="card-content">
                       <div class="input-group">
                           <span class="input-group-addon">
                           </span>

                    <div class="form-group label-floating">
                        <label class="control-label"><h4>Chose a name for the file</h4></label>
                        <br>
                        <input type="textd" name="name" id="name" class="form-control" value="">
                    </div>
                                                <br><br>
                         <div class="form-group label-floating">
                          <label class="control-label"><h4>Choose a file</h4></label>
                          <br>

                          <input type="file" id="file" name="file" >
                                  </div>
                      </div>
                  </div>
                      <div class="footer text-center">
                               <div class="file-upload">
                              <label for="submit" class="file-upload__label">
                      <div class="isa_error_class">
              <?= FH::displayErrors($this->displayErrors)?>
                </div>
                                                        <button class="btn btn-wd btn-lg" data-background-color="rose">Submit</button>
                                                </label>
                                                <input type="submit" name="submit" value="Submit" class="file-upload__input">
                                            </div>
              </div>
            </form>

还有php部分

     if($this->request->isPost())
    {
      $this->request->csrfCheck();
      $upload->assign($this->request->get());
      $upload->user_id = Users::currentUser()->id;
      $upload->name .= "." . pathinfo($_FILES['file']['name'] , PATHINFO_EXTENSION);
      $value = pathinfo($_FILES['file']['name'] , PATHINFO_EXTENSION);
      $upload->format = Upload::setFormat($value);

       $dir = Users::currentUser()->id;
          if(move_uploaded_file($_FILES["file"]["tmp_name"],'files' . DS . $dir . DS . $upload->name ))
    {
      if($upload->save())
      {
          Router::redirect('upload');
      }
      else
      {
          $upload->addErrorMessage('file','There were a problem saving in the database.');
      }
    }
    else
    {
         $upload->addErrorMessage('file','There were a problem uploading it.');
    }
   }

DS是分隔符。图像格式似乎完美,但其他格式则不然。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您应检查您的file_uploads = On中是否允许php.ini,并检查最大文件大小upload_max_filesize= 20M,并确保未通过。

相关问题