php 不上传预览图片,ThinkPHP (不引入其它类库)上传图片并生成缩略图

http://www.thinkphp.cn/topic/35149.htmlpublic function upload(){

$upload = new Upload();//实列化上传类

$upload->maxSize=3145728;//设置上传文件最大,大小

$upload->exts= array('jpg','gif','png','jpeg');//后缀

$upload->rootPath ='./Uploads/';//上传目录

$upload->savePath      =  '/Products_Images/'; // 设置附件上传(子)目录

$upload->autoSub     = true;

$upload->subName     = array('date','Ymd');

$upload->saveName = array('uniqid','');//设置上传文件规则

$info= $upload->upload();//执行上传方法

if(!$info){

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

}else {

//获取上传文件信息

foreach ($info as $file){

$p_w_picpath = $file['savepath'].$file['savename'];

$size = $file['size'];

$dir=  $file['savepath'];

$filename=$file['savename'];

}

//图片物理目录删除、改名图片用

$path= './Uploads'.$dir;

$img =new Image();//实例化

$img->open($path.$filename);//打开物理图片

//使用thumb方法生成缩略图并改名为:som_.$filename此时在项目根目录上

$img->thumb(150, 150)->save(som_.$filename);

//重新赋值方便处理

$oldfile=som_.$filename;

//rename()更改成新的文件名,此时还在项目根目录上

rename($oldfile, new_.$filename);

//重新赋值方便处理 new_.$filename为更名后新文件名

$newfile=new_.$filename;

//移动新文件到物理$path 目录最终生缩略图文件为:new_xxxx.jpg(后缀名不作更改只是在前加了new_)

rename($newfile,"$path/$newfile" );

//$thumb获取缩略图的地址和文件名用于写放数据库用

$thumb=$file['savepath'].$newfile;

//写入到数据库中,下面date,pic,thumb都为数据表对应的字段

$m=D('Products'); //和数据表名相对应

if (!$m->create()){

$this->error($m->geterror());

}

//注意,非表单自动创建提交的数据,要写在if判断之后才能提交到数据库

$m->date=time();

$m->pic=$p_w_picpath;

$m->thumb =$thumb;

$arr=$m->add();

$this->success('新增成功',U('Products/index'));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值