php 缩略图 不生成文件夹,ThinkPHP的UploadFile类生成多个缩略图存放不同目录

系统自带的文件上传类可以生成多个缩略图,但是都存放在同一个目录下。

我发现只要在系统的源代码里修改一下,就可以实现缩略图存放在不同目录下!

把原来的:

if(1 == $this->thumbType){

Image::thumb2($filename,$thumbPath.$thumbname.'.'.$thumbExt,'',$thumbWidth[$i],$thumbHeight[$i],true);

}else{

Image::thumb($filename,$thumbPath.$thumbname.'.'.$thumbExt,'',$thumbWidth[$i],$thumbHeight[$i],true);

} 改成:

if(1 == $this->thumbType){ Image::thumb2($filename,$thumbPath[$i].$thumbname.'.'.$thumbExt,'',$thumbWidth[$i],$thumbHeight[$i],true);

}else{

Image::thumb($filename,$thumbPath[$i].$thumbname.'.'.$thumbExt,'',$thumbWidth[$i],$thumbHeight[$i],true);

} 控制器上上传参数设置:

$date = date('Ymd');

$targetFolder = '../Uploads/'; // Relative to the root

$targetFolder_s = '../Uploads/s/'.date('Ymd').'/'; // Relative to the root

$targetFolder_m = '../Uploads/m/'.date('Ymd').'/'; // Relative to the root

$targetFolder_b = '../Uploads/b/'.date('Ymd').'/'; // Relative to the root

if(!file_exists($targetFolder_b)){

mkdir($targetFolder_b);

}

if(!file_exists($targetFolder_s)){

mkdir($targetFolder_s);

}

if(!file_exists($targetFolder_m)){

mkdir($targetFolder_m);

}

import("ORG.Net.UploadFile");

$upload = new UploadFile();

$upload->maxSize  = 10485760 ;

$upload->allowExts  = array('jpg', 'gif', 'png', 'jpeg');

$upload->savePath =  $targetFolder;

$upload->thumb = true;

$upload->thumbPrefix='';

$upload->thumbPath=array($targetFolder_s,$targetFolder_m,$targetFolder_b);

$upload->thumbMaxWidth='200,300,620';

$upload->thumbMaxHeight='120,180,300';

$upload->thumbRemoveOrigin=true;

if(!$upload->upload()) {

echo $upload->getErrorMsg();

}else{

$info =  $upload->getUploadFileInfo();

} 改完后,好像不能自动检测目录的存在,需要自己手动判断了。

上传后的效果图:

1047470b45c815914779ac8ba8d072ec.png

用的是uploadify插件!

其它代码在另一篇:http://my.oschina.net/geomen/blog/150183

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值