ThinkPhp框架:文件上传
实现文件上传功能需要控制器,方法然后是显示的页面
1.在Controller下新建一个控制器TestController.class.php
2.创建操作方法
<?php namespace Home\Controller; use Think\Controller; class TestController extends Controller { public function shangchuan(){ $this->show();//显示模版页面 } }
3.在Home文件夹里View文件夹下新建一个Test文件夹,在Test文件夹下创建上传的模版页
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="__ROOT__/Public/js/jquery-3.2.0.min.js"></script> </head> <body> <h1>文件上传</h1> <form action="__CONTROLLER__/wjsc" method="post" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit" value="上传"/> </form> </body> </html>
4.让上传指向一个操作方法,新建一个wjsc操作方法
<?php namespace Home\Controller; use Think\Controller; class TestController extends Controller { public function shangchuan(){ $this->show(); } public function wjsc(){ $u = new \Think\Upload();//实例化上传类 \是初始命名空间 Think是根命名空间 Upload是类 $u->maxSize = 1024000;//设置文件大小 $u->rootPath = "./Public/";//文件存放的根路径 $u->savePath = "./upload/";//设置当前上传的文件存放的位置 $u->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 $info = $u->upload();//上传文件并返回文件信息 if($info){ echo"上传成功,文件存放在:".$info["file"]['savepath']; }else{ echo $u->getError(); } }
看一下实现的效果:
会显示文件上传的保存路径(相对于根路径)
下面是供参考的上传参数和文件上传信息参数