欢迎光临
我们一直在努力

thinkphp上传图片及生成缩略图

[v_error]一、上传图片的HTML代码[/v_error]

  
  
      
          
        upload  
      
      
          

    

[v_error]一定要注意的是,form表单的属性一定要写上,缺一不可。[/v_error]

method='post' enctype="multipart/form-data"  

[v_error]二、上传图片后再生成缩略图保存[/v_error]

[v_warn]出现如上所示问题,是因为根目录不存在,$upload->rootPath的默认根目录为当前项目下的Uploads文件夹,即:”./Uploads/”;

可以手动创建,也可以将根目录修改为已经存在的目录。[/v_warn]

if (!empty($_FILES)) {  
        $upload = new \Think\Upload();// 实例化上传类  
        $upload->maxSize = 2048000;             //上传文件最大大小  
        $upload->allowExts = array('jpg','jpeg','gif','png');//允许上传文件类型  
        $upload->rootPath = "./Application/Home/Public/";  //文件保存根目录,可以自定义  
        $upload->savePath = "Uploads/";                //文件保存目录  
        $upload->replace = 'true';                      //可以替换相同名称的文件  
        $upload->saveName = 'image';  
        $file = $upload->upload()['image'];  
        if(!$file){  
            $this->error($upload->getError());//获取失败信息  
        } else {  
            $img = "./Application/Home/Public/".$file['savepath'].$file['savename'];//获取文件上传目录  
            $image = new \Think\Image();   
            $image->open($img);    //打开上传图片  
            $image->thumb(102, 142,\Think\Image::IMAGE_THUMB_FIXED)->save($desitination.'thumb.jpg');//生成缩略图  
        }  
}  

[v_error]
三、生成缩略图之后再保存缩略图[/v_error]
图片上传过程中,直接对上传文件暂存目录下的图片进行处理,生成缩略图并保存,则原图片就不再保存,减少内存的消耗。

public function img(){  
        $name = $_FILES['image']['tmp_name'];//从上传文件暂存目录下读取文件  
        $image = new \Think\Image();   
        $image->open($name);//生成缩略图  
        $image->thumb(102, 142,\Think\Image::IMAGE_THUMB_FIXED)->save('./image.jpg');  
   }

并且支持多种类型的缩略图生成,设置包括Think\Image的下列常量或者对应的数字

IMAGE_THUMB_SCALE = 1 ; //等比例缩放类型
IMAGE_THUMB_FILLED = 2 ; //缩放后填充类型
IMAGE_THUMB_CENTER = 3 ; //居中裁剪类型
IMAGE_THUMB_NORTHWEST = 4 ; //左上角裁剪类型
IMAGE_THUMB_SOUTHEAST = 5 ; //右下角裁剪类型
IMAGE_THUMB_FIXED = 6 ; //固定尺寸缩放类型
赞(0) 打赏
未经允许不得转载: » thinkphp上传图片及生成缩略图

评论 抢沙发

更好的服务器推荐选择

本站主要用于阿里云、腾讯云、华为云服务器活动的推荐及优惠购买方式、并搜集服务器运维的日常解决方案!

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册