thinkphp功能类之Upload.class.php

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

时间: 2024-11-05 15:47:14

thinkphp功能类之Upload.class.php的相关文章

php实现图片缩放功能类

http://www.poluoluo.com/jzxy/201312/255447.html <?php /** * Images类是一个图片处理类 * @package application.controllers * @since 1.0 */ class Images { /** * 缩放图片 * @param $source原图片 * @param $newfile新图片 * @param $pre缩放比例 */ public function thumn($source,$pre,

枚举功能类

enum.php /** * 本类主要是实现枚举的功能 * @param unknown_type $base_class * @param unknown_type $args * @param unknown_type $codeArgs */ function enum($base_class, array $args,array $codeArgs){ $class_parts = preg_split('/\s+/', $base_class); $base_class_name =

定制 ThinkPHP 分页类

第一步,引入: 1 import('ORG/Util/Page'); 2 $total = M('xxx')->count(); //获取总记录数 3 $page = new Page($total, 3); //实例化:(总数,每页显示的记录数) 4 5 $limit = $page->firstRow.','.$page->listRows; //用于SQL 的 limit 语句的限制字符串:'limit 0,12' 6 $result = M('xxx')->limit($l

【socket】Socket的三个功能类TCPClient、TCPListener 和 UDPClient

Socket的三个功能类TCPClient.TCPListener 和 UDPClient (转) 应用程序可以通过 TCPClient.TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务.这些协议类建立在 System.Net.Sockets.Socket 类的基础之上,负责数据传送的细节.(也就是说TCPClient.TCPListener 和 UDPClient 类是用来简化Socket) TcpClient 和 TcpLi

功能类控件

驰骋工作流引擎将出发各种事件的控件称之为功能类控件,驰骋表单设计器中有控件分类:按钮,鼠标.选择,超连接. 按钮 表单上面的按钮对象,可以处理事件内容. 特别说明:ccBPM所有的事件内容的处理方式都是一致的,目前所涉及的事件有,表单事件.按钮事件.流程事件. 1.总体说明 每个按钮有自己的按钮类型,使用自定义按钮类型. 属性 说明 按钮事件类型 事件类型决定按钮执行的内容. 事件内容 就是要执行的内容,内容里面可以有变量,变量来自与表单.变量的表达方式仍然用@+变量名来决定,比如:@jiner

php之框架增加日志记录功能类

<?php /* 思路:给定文件,写入读取(fopen ,fwrite……) 如果大于1M 则重写备份 传给一个内容, 判断大小,如果大于1M,备份 小于则写入 */ class Log{ //定义一个常量,创建一个文件的名称 const LOGFILE = 'curr.log'; //写入文件 public static function write($cont){ $cont .="\r\n"; $log = self::isBak(); //计算文件的地址,判断大小 $fh

ThinkPHP验证码类

//ThinkPHP验证码类使用$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 3, // 验证码位数 'useNoise' => false, // 关闭验证码杂点 ); $Verify = new \Think\Verify($config); $Verify->entry();

thinkphp 分页类 url 编码处理

在做thinkphp分页的时候  thinkphp 中的分页 有一个小问题 就是 在有form 表单 搜索中文的时候,点击下一页的话 中文会被转换成编码. 如图: 最直接的方法就是 直接修改 thinkphp 分页类 的源代码.(反正改了也不会出现什么大问题~) 在 Page.class.php 文件中 show 方法里面 将 原来的代码注释掉,修改为新的. $this->url=U(ACTION_NAME).'?'.http_build_query($this->parameter); ok

ThinkPHP 分页类的使用及退出功能的实现

/* ThinkPHP设置编码统一: 一.数据库设置为utf8_bin 二.HTML页面设置charset=utf-8,而且检查文档编码格式是否是utf-8.phpDesigner8设置方式为“文件->文件编码->选中UTF-8 */ <?php /** 这是后台index控制器 */ Class IndexAction extends CommonAction{ public function index(){ $this->display(); } Public functio