Bladeren bron

图片压缩

binbinyouli 6 jaren geleden
bovenliggende
commit
5b8265a919
2 gewijzigde bestanden met toevoegingen van 88 en 2 verwijderingen
  1. 76 0
      app/admin/controller/ImgController.php
  2. 12 2
      app/admin/controller/JiamengController.php

+ 76 - 0
app/admin/controller/ImgController.php

@@ -0,0 +1,76 @@
+<?php
+namespace  app\admin\controller;
+use cmf\controller\AdminBaseController;
+use think\Db;
+
+class ImgController {
+
+    // public function initialize(){
+    //     parent::initialize();
+    //     $username = $_SESSION['think']['name'];
+    //     $userid = $_SESSION['think']['ADMIN_ID'];
+    //     //判断是否是编辑管理员
+    //     $iseditor = 0;
+    //     $iseditor = Db::name('role_user')->where('role_id',3)->where('user_id',$userid)->count();
+    //     $this->iseditor = $iseditor;
+    //     $this->uname = $username;
+    //     $this->assign('iseditor',$iseditor);
+    // }
+    
+    /**
+     * desription 压缩图片
+     * @param sting $imgsrc 图片路径
+     * @param string $imgdst 压缩后保存路径
+     */
+    public function compressedImage($imgsrc, $imgdst) {  
+        
+        list($width, $height, $type) = getimagesize($imgsrc);
+       
+        $new_width = $width;//压缩后的图片宽
+        $new_height = $height;//压缩后的图片高
+ 
+        if($width >= 600){
+            $per = 600 / $width;//计算比例
+            $new_width = $width * $per;
+            $new_height = $height * $per;
+        }
+      // echo $type.':'.$width.":".$height;die();
+        switch ($type) {
+            case 1:
+                $giftype = check_gifcartoon($imgsrc);
+                if ($giftype) {
+                    header('Content-Type:image/gif');
+                    $image_wp = imagecreatetruecolor($new_width, $new_height);
+                    $image = imagecreatefromgif($imgsrc);
+                    imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
+                    //90代表的是质量、压缩图片容量大小
+                    imagejpeg($image_wp, $imgdst, 90);
+                    imagedestroy($image_wp);
+                    imagedestroy($image);
+                }
+                break;
+            case 2:
+                header('Content-Type:image/jpeg');
+                $image_wp = imagecreatetruecolor($new_width, $new_height);
+                $image = imagecreatefromjpeg($imgsrc);
+                imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
+                //90代表的是质量、压缩图片容量大小
+                imagejpeg($image_wp, $imgdst, 90);
+                imagedestroy($image_wp);
+                imagedestroy($image);
+                break;
+            case 3:
+                header('Content-Type:image/png');
+                $image_wp = imagecreatetruecolor($new_width, $new_height);
+                $image = imagecreatefrompng($imgsrc);
+                imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
+                //90代表的是质量、压缩图片容量大小
+                imagejpeg($image_wp, $imgdst, 90);
+                imagedestroy($image_wp);
+                imagedestroy($image);
+                break;
+        }
+    }
+
+}
+?>

+ 12 - 2
app/admin/controller/JiamengController.php

@@ -4,6 +4,7 @@ use cmf\controller\AdminBaseController;
 use think\Db;
 use tree\Tree;
 use app\admin\model\CategoryModel;
+use app\admin\controller\ImgController;
 
 class JiamengController extends AdminBaseController{
 
@@ -138,7 +139,14 @@ class JiamengController extends AdminBaseController{
     }
 
     public function addPost(){
-        $param = $this->request->param();
+        // $onepic='.\upload\admin\20191224\d0462810bfc159fd8b16998571c2023.png';
+        // $img=new ImgController(); 
+        // $two='.\upload\admin\20191224\2.png';
+        // $img->compressedImage($onepic,$two);
+        // die();
+        
+        //echo file_exists('.\upload\admin\20191224\14e627ad5ba5036ee447cfd571d2bed7.png').'sdfsf';die;
+        $param = $this->request->param();var_dump($param);die();
         isset($param['thumb'])&&$param['thumb']!='' or $this->error('请上传标题图片');
         isset($param['logo'])&&$param['logo']!='' or $this->error('请上传logo图片');
         isset($param['title'])&&$param['title']!='' or $this->error('请填写品牌名称');
@@ -360,7 +368,9 @@ class JiamengController extends AdminBaseController{
     /**
      * 处理编辑
      */
-    public function editPost(){
+    public function editPost(){     
+
+        
         $param = $this->request->param();
         isset($param['thumb']) or $this->error('请上传标题图片');
         isset($param['title']) or $this->error('请填写品牌标题');