Thinkphp 中常用功能类(Upload.class.php)
构造参数
$config = array(
‘mimes‘ => array(), //允许上传的文件MiMe类型
‘maxSize‘ => 0, //上传的文件大小限制 (0-不做限制)
‘exts‘‘ => array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘);// 设置附件上传类型
‘rootPath‘ => ‘./Uploads/‘, //保存根路径
‘savePath‘ => ‘‘, //保存路径 相当于二级目录
------------------------------ 以上为常用配置项----------------------------------
‘autoSub‘ => true, //自动子目录保存文件
‘subName‘ => array(‘date‘, ‘Y-m-d‘), //子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组
‘saveName‘ => array(‘uniqid‘, ‘‘), //上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组
‘saveExt‘ => ‘‘, //文件保存后缀,空则使用原后缀
‘replace‘ => false, //存在同名是否覆盖
‘hash‘ => true, //是否生成hash编码
‘callback‘ => false, //检测文件是否存在回调,如果存在返回文件信息数组
‘driver‘ => ‘‘, // 文件上传驱动
‘driverConfig‘ => array(), // 上传驱动配置
);
也可以通过对象来设置
**$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘);// 设置附件上传类型
$upload->savePath = ‘./Public/Uploads/‘; // 设置附件上传目录**
2 创建对象
$upload = new \Think\Upload(config);
3 $result=$upload->upload();
//upload为多文件上传 从源码中可以看出 默认使用$_FILES
上传一个文件
**result=upload->uploadOne();**
要自己传入参数为$_FILES[‘指定的名称‘从源码中可以看出uploadOne是使用upload包装了一层
4.上传成功返回的是一个二维数组
array(1) {
["logo"] => array(9) {
["name"] => string(21) "2018-09-11_182443.png"
["type"] => string(9) "image/png"
["size"] => int(6669)
["key"] => string(4) "logo"
["ext"] => string(3) "png"
["md5"] => string(32) "72f65ce4adc8c1ffc2eaba302374613e"
["sha1"] => string(40) "0ffd62818cc682e2cd30abba624074dd1338fb4b"
["savename"] => string(17) "5d8758801ca2f.png"
["savepath"] => string(17) "Goods/2019-09-22/"
}
5 错误信息 保存到模型中
原文地址:https://www.cnblogs.com/mofei12138/p/11569814.html