有乎-价值、共享、信任

What you care about-value, sharing, trust

PHP ci框架图片压缩

| 阅读:951 发表时间:2021-04-07 23:27:58 技术专栏

描述:

批量上传图片

public function upload1(){
	    $img = [];
	    foreach($_FILES as $file){
	        $ret = $this->classUpload($file);
	        if($ret!=-1){
	            $img[] = $ret;
	        }
	    }
	    if($img){
	        echo implode(",", $img);
	    }else{
	        echo "";
	    }
	    exit;
	}

上传类:classUpload

public function classUpload($file){
	    $upload_dir =  "qrode_image/";
	    $uptypes=array(  
            'image/jpg',  
            'image/jpeg',  
            'image/png',  
            'image/pjpeg',  
            'image/gif',  
            'image/bmp',  
            'image/x-png'  
        );
    
        $max_file_size=200000000;     //上传文件大小限制, 单位BYTE
        $fileName = time().rand(1000,9999).".jpg";
        $filetype = $file["type"];
        $filesize = $file["size"];
	    if(!in_array($filetype, $uptypes)){            // 文件类型判断
            //echo "文件类型不符!";
            return -1;
            exit;
        }
        if($filesize > $max_file_size){                // 文件大小判断
            //echo "文件太大!";
            return -1;
            exit;    
        }
        
        $url = "qrode_image/";
        $url = $url.$fileName;
        if(move_uploaded_file($file["tmp_name"],$url)){
    	    $image_config['image_library'] = 'gd2';
            $image_config['create_thumb'] = TRUE;
            $image_config['maintain_ratio'] = TRUE;
            $image_config['width']  = 400;
            $image_config['height'] = 400;
            
            $files['full_path'] = realpath($url);
            
           //生成缩略图  full_path:绝对路径
           $image_config['source_image'] = $files['full_path'];
           $this->load->library('image_lib', $image_config);
           $this->image_lib->initialize($image_config);            ///重要:解决批量上传压缩文件时出现只压缩一张情况
           if($this->image_lib->resize()){
               $this->image_lib->clear();                         ///配合使用
               //生成缩略图
               $tmp = explode(".", $url);
               $productThumb = "/".$tmp[0]."_thumb.".$tmp[1];
               unlink($files['full_path']);
               return $productThumb;
           }
           
       }

*文章为作者独立观点,不代表【uuuho有乎】的立场
本文由【uuuho有乎】发表并编辑,转载此文章须经作者同意,并请附上出处及本页链接。如有侵权,请联系本站删除。