您的位置 首页 php

tp之文件上传

经常使用ThinkPHP3后,在使用ThinkPHP5上费了好些功夫,今天总结一下关于tp5的文件上传,具体代码详情如下:

模板页(一定要加上enctype="multipart/form-data"):

 <form action="{:url('index/index/upQuestionsWrite')}" method="post" class="form form-horizontal" enctype="multipart/form-data" id="addform">            <div class="row cl">          <label class="form-label col-xs-4 col-sm-2">选择试题文件:</label>          <div class="btn-upload form-group">              <input type="text" name="uploadfile" id="uploadfile" class="input-text upload-url radius" readonly><a href="javascript:void();" class="btn btn-primary radius"><i class="Hui-iconfont"></i>浏览文件</a>              <input type="file" name="examfile" class="input-file" multiple>                         </div>              <boutton type="submit" class="btn btn-success btn-submit">导入试题</button>          </div>          </form>

控制器(在tp5中获取上传文件的文件名称与tp3略有不同):

public function upQuestionsWrite()      {          // 获取表单上传文件          $file = request()->file('examfile');          if(empty($file)) {              $this->error('请选择上传文件');          }          // 移动到框架应用根目录/public/uploads/ 目录下          $info = $file->move(ROOT_PATH.'public'.DS.'upload');         //如果不清楚文件上传的具体键名,可以直接打印$info来查看          //获取文件(文件名),$info->getFilename()  ***********不同之处,笔记笔记哦        //获取文件(日期/文件名),$info->getSaveName()  **********不同之处,笔记笔记哦        $filename = $info->getSaveName();  //在测试的时候也可以直接打印文件名称来查看         if($filename){                          $this->success('文件上传成功!');          }else{              // 上传失败获取错误信息              $this->error($file->getError());          }      }                 // 上传失败获取错误信息                $this->error($file->getError());            }        }

推荐学习:TP5

文章来源:智云一二三科技

文章标题:tp之文件上传

文章地址:https://www.zhihuclub.com/27710.shtml

关于作者: 智云科技

热门文章

网站地图