php3.1引入文件,ThinkPHP3.1多文件上传路径跟命名

ThinkPHP3.1多文件上传路径和命名

import('ORG.Net.UploadFile');

$co = array();

$co['maxSize'] = 3145728;

$co['saveRule'] = date('ymdHis',time()).'_'.mt_rand();

$co['allowExts'] = array('jpg', 'gif', 'png', 'jpeg');

$co['savePath'] = './Public/image/home/news/';

$upload = new UploadFile($co);// 实例化上传类

if(!$upload->upload()) {// 上传错误提示错误信息

$this->error($upload->getErrorMsg());

}else{// 上传成功 获取上传文件信息

$info =  $upload->getUploadFileInfo();

}

这样上传多个文件时,错误说文件已存在,命名重复了。还有上传了两个文件如何,让他们分开存放不同的路径。

------解决方案--------------------

实例化上传类之后,就可以设置一些上传的属性(参数),支持的属性有:

maxSize 文件上传的最大文件大小(以字节为单位)默认为-1 不限大小

savePath 文件保存路径,如果留空会取UPLOAD_PATH常量定义的路径

saveRule 上传文件的保存规则,必须是一个无需任何参数的函数名,例如可以是 time、 uniqid com_create_guid 等,但必须能保证生成的文件名是唯一的,默认是uniqid

hashType 上传文件的哈希验证方法,默认是md5_file

autoCheck 是否自动检测附件,默认为自动检测

uploadReplace 存在同名文件是否是覆盖

allowExts  允许上传的文件后缀(留空为不限制),使用数组设置,默认为空数组

allowTypes 允许上传的文件类型(留空为不限制),使用数组设置,默认为空数组

thumb 是否需要对图片文件进行缩略图处理,默认为false

thumbMaxWidth 缩略图的最大宽度,多个使用逗号分隔

thumbMaxHeight 缩略图的最大高度,多个使用逗号分隔

thumbPrefix 缩略图的文件前缀,默认为thumb_

thumbSuffix 缩略图的文件后缀,默认为空

thumbPath 缩略图的保存路径,留空的话取文件上传目录本身

thumbFile 指定缩略图的文件名

thumbRemoveOrigin 生成缩略图后是否删除原图

autoSub 是否使用子目录保存上传文件

subType 子目录创建方式,默认为hash,可以设置为hash或者date

dateFormat 子目录方式为date的时候指定日期格式

hashLevel 子目录保存的层次,默认为一层

以上属性都可以直接设置

------解决方案--------------------

http://doc.thinkphp.cn/manual

195531130.gif

多文件分路径?可能要自己改写Upload类吧

------解决方案--------------------

saveRule 上传文件的保存规则,必须是一个无需任何参数的函数名

显然你的 $co['saveRule'] = date('ymdHis',time()).'_'.mt_rand(); 不符合这个要求

你可以定义一个函数,比如

function my_filename() {

return date('ymdHis',time()).'_'.mt_rand();

}

然后

$co['saveRule'] = ‘my_filename';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值