码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp功能类之Upload.class.php

时间:2019-09-22 23:28:37      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:ack   编码   同名   strong   str   类型   方式   文件   构造   

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 错误信息 保存到模型中
技术图片

 

thinkphp功能类之Upload.class.php

标签:ack   编码   同名   strong   str   类型   方式   文件   构造   

原文地址:https://www.cnblogs.com/mofei12138/p/11569814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!