ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tp批量压缩图片

2021-07-26 20:31:06  阅读:203  来源: 互联网

标签:thumb 批量 压缩 tp filename temp file filenameInfo dir


<?php
namespace app\index\controller;

use think\Controller;

class Index extends Controller
{
    public function index()
    {
        return '开发中。。';
    }


    public function test(){

    	if($this->request->isPost()){

    		$file = request()->file('file'); 
	        if(empty($file)) return showError(config('status.badRequest'),'上传文件不能为空');
	        $data['file'] = $file;
	        $info = $file->validate(['ext'=>'bmp,jpg,JPG,PNG,GIF,png,tif,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF,webp'])->move(ROOT_PATH . 'public' . DS . 'uploads');
	        if($info){
	            $filename = $info->getSaveName();
	            $filename = str_replace('\\','/',$filename);
	            $filename = '/uploads/'.$filename;
	            $image = \think\Image::open( './'.$filename);

	            $filenameInfo = explode('.',$filename);
	            $thumbImg = $filenameInfo[0].'_thumb_.'.$filenameInfo[1];
	            // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
	            $image->thumb(600,600,\think\Image::THUMB_SCALING)->save( './'.$thumbImg);
	            //保存照片exif信息 
	            $exif = exif_read_data('./'.$filename,0, true);
	            halt($exif);
	        }

    	}


    	return $this->fetch('');
    }



    public function dirFile(){
        $dir = "./uploads";  //要获取的目录
        ini_set('max_execution_time', '0');
        $this->scan_all($dir);

    }


    function scan_all($dir){
        $temp = scandir($dir);
        if(is_array($temp) && count($temp)>2){
            array_shift($temp);
            array_shift($temp);
            foreach($temp as $v){
                $cur_dir=$dir.DIRECTORY_SEPARATOR.$v;
                if($v == 'ueditor') {
                    continue;
                }
                if(is_dir($cur_dir)){

                    echo "<blockquote>";
                    $this->scan_all($cur_dir);
                    echo "</blockquote>";
                }else if(is_file($cur_dir)){
                      $filename = $dir.'/'.$v ;
                      $filename = str_replace('\\', '/', $filename);
                      if(strstr($filename, 'thumb') !== false ){
                          continue;
                      }
                    echo "<blockquote>";
                    echo $filename;
                    $this->yasuo($filename);
                    echo "</blockquote>";



                }else{
                    echo 'err';
                }
            }
        }
    }

    public function yasuo($filename){

        $image = \think\Image::open($filename);
        $filename = ltrim($filename, '.');
        $filenameInfo = explode('.',$filename);
        $thumbImg = $filenameInfo[0].'_thumb_.'.$filenameInfo[1];
        $image->thumb(600,600,\think\Image::THUMB_SCALING)->save( './'.$thumbImg,$type = null, $quality = 100);

    }







}

  

标签:thumb,批量,压缩,tp,filename,temp,file,filenameInfo,dir
来源: https://www.cnblogs.com/Abner3721/p/15063207.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有