图片上传
配置文件 <?php return array( //'配置项'=>'配置值' /* 数据库设置 */ 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'jd_shop', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'root', // 密码 'DB_PREFIX' => 'jd_', // 数据库表前缀 //文件上传配置 'UPLOADS_CONFIG' =>array( 'maxSize' => 3145728, //上传大小 3*1024*1024 'savePath' => './', //路径 'saveName' => array('uniqid',''), //生成图片名 随机数 'exts' => array('jpg', 'gif', 'png', 'jpeg'), //上传格式 'autoSub' => true, //是否支持子目录生成 'subName' => array('date','Ymd'),//生成子目录 规则 ), ); ---------------------------------------------上传方法------------------------- #上传图片 public function uploads(){ #判断是否有图片上传 if($_FILES['pin_bagimg']['name']){ #判断是否为修改操作 if($_POST['id']>0){ if(file_exists($_POST['pin_bagimg'])) unlink($_POST['pin_bagimg']); if(file_exists($_POST['pin_thumb'])) unlink($_POST['pin_thumb']); } #读取配置文件上传的参数 $config_file=C("UPLOADS_CONFIG"); #-----------上传大图-------- $config_file['savePath']="PinPai/bag_img/"; #实例化上传类 $upload=new \Think\Upload($config_file); #执行上传操作 $info=$upload->upload(); #判断是否上传成功 if(!$info){ die($upload->getError()); } #设置大图的路径保存数据库 if($_POST['id']>0){ $this->pin_bagimg="Uploads/".$info['pin_bagimg']['savepath'].$info['pin_bagimg']['savename']; }else{ $_POST['pin_bagimg']="Uploads/".$info['pin_bagimg']['savepath'].$info['pin_bagimg']['savename']; } #------------生成缩率图------- #生成缩率图对象 $image = new \Think\Image(); #设置缩率图保存路径 $thumb_path="Uploads/PinPai/thumb/100-100/".date(); #获取缩率图的地址跟名字 $thumb_name=$thumb_path.$info['pin_bagimg']['savename']; #判断是否有缩率图的目录 if(!is_dir($thumb_path)){ #创建改目录 mkdir($thumb_path,'0777'); } #打开大图 if($_POST['id']>0){ $image->open($this->pin_bagimg); }else{ $image->open($_POST['pin_bagimg']); } #生成缩率图 $image->thumb(100, 100)->save($thumb_name); #把缩率图保存到数据库 if($_POST['id']>0){ $this->pin_thumb=$thumb_name; }else{ $_POST['pin_thumb']=$thumb_name; } }