http://www.thinkphp.cn/topic/35149.html
public 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')); } }