图片上传

配置文件
<?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;
      	   }
      	  
      }

  

posted @ 2014-12-05 16:08  麦田守望者~  阅读(126)  评论(0编辑  收藏  举报