刚学的使用ThinkPHP框架简单上传附件(图片,文档,视频等文件)

首先需要了解tp框架中Upload.class.php(ThinkPHP/Library/Think/Upload,class,php)中的几个函数

1:getError() 获取上传错误信息

2:uploadOne() 上传单个文件

3:upload() 上传多个文件

4:rootPath 上传文件保存根路径

代码如下

前台:

<td>商品图片</td><td> <input type="file" name="goods_pic" /></td>

控制器

//处理上传附件图片    //判断是否上传 4:没有上传附件  if ($_FILES["goods_pic"]["error"]<4) {      //上传   $cfg = array(   "rootPath" => "./Public/uploads/", //保存根路径   );   $upload = new ThinkUpload($cfg); //完全限定名称 实例化对象    //uploadOne()方法执行成功后会把附件(在服务器上)的名字和路径等相关信息返回   $file_info=$upload->uploadOne($_FILES["goods_pic"]);      //把上传好的附件存到数据库 拼接路径   //$upload->rootPath通过父类upload.class.php中的__get()方法获取配置中的rootPath   $_POST["goods_big_img"]=$upload->rootPath.$file_info["savepath"].$file_info["savename"];  }

如果对上传附件有其他要求,可参考父类Upload.class.php中上传配置config参数进行选择需要的参数,只需在上面代码$cfg=array()中重写即可!

父类上传配置参数如下(可根据自己要求重写):

private $config = array(  "mimes"   => array(), //允许上传的文件MiMe类型  "maxSize"  => 0, //上传的文件大小限制 (0-不做限制)  "exts"   => array(), //允许上传的文件后缀  "autoSub"  => true, //自动子目录保存文件  "subName"  => array("date", "Y-m-d"), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组  "rootPath"  => "./Uploads/", //保存根路径  "savePath"  => "", //保存路径  "saveName"  => array("uniqid", ""), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组  "saveExt"  => "", //文件保存后缀,空则使用原后缀  "replace"  => false, //存在同名是否覆盖  "hash"   => true, //是否生成hash编码  "callback"  => false, //检测文件是否存在回调,如果存在返回文件信息数组  "driver"  => "", // 文件上传驱动  "driverConfig" => array(), // 上传驱动配置 );

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持网页设计。