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>
Controller(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 파일 업로드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!