因为TP6很多功能比较新,还没有系统的学习,所以一直用的是TP5。
最近在做一个后台管理程序,其中一个功能就是excel上传并导入数据,看文档抄代码的时候,发现官方文档给的代码会报错。
文档地址:https://www.kancloud.cn/manual/thinkphp5/155159
表单部分代码:
| 1 2 3 4 | <form action="/index/index/upload" enctype="multipart/form-data" method="post"> <input type="file" name="image" /> <br>  <input type="submit" value="上传" />  </form> | 
控制器部分代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public function upload(){     // 获取表单上传文件 例如上传了001.jpg     $file = request()->file('image');     // 移动到框架应用根目录/public/uploads/ 目录下     if($file){         $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');         if($info){             // 成功上传后 获取上传信息             // 输出 jpg             echo $info->getExtension();             // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg             echo $info->getSaveName();             // 输出 42a79759f284b767dfcb2a0197904287.jpg             echo $info->getFilename();          }else{             // 上传失败获取错误信息             echo $file->getError();         }     } } | 
这其中会报错,只需要修改成如下代码即可:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php namespace app\index\controller; use think\Request; class Upload extends \think\Controller {     // 文件上传表单     public function index()     {         return $this->fetch();     }     // 文件上传提交     public function up(Request $request)     {         // 获取表单上传文件         $file = $request->file('file');         if (empty($file)) {             $this->error('请选择上传文件');         }         // 移动到框架应用根目录/public/uploads/ 目录下         $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');         if ($info) {             $this->success('文件上传成功:' . $info->getRealPath());         } else {             // 上传失败获取错误信息             $this->error($file->getError());         }     } } | 
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/9995
 
                
 微信扫一扫
                                                            微信扫一扫                                                     支付宝扫一扫
                                                            支付宝扫一扫                                                     
            