zoukankan      html  css  js  c++  java
  • php上传图片后,如果图片大于50kb则进行压缩

    if($size > 51200){
      //压缩图片
      $uploadfile = $imgDir.$filename;

      //图片路径
      $uploaddir_resize = 'account_imgs/';
      $uploadfile_resize = $uploaddir_resize.$filename;
      //echo $uploaddir_resize;
      function resizeImage($uploadfile,$maxwidth,$maxheight,$filename)
      {
        //取得当前图片大小
        $width = imagesx($uploadfile);
        $height = imagesy($uploadfile);

        //压缩比值

        $i=0.5;
        //生成缩略图的大小
        if(($width > $maxwidth) || ($height > $maxheight))
        {
        /*
          $widthratio = $maxwidth/$width;
          $heightratio = $maxheight/$height;

          if($widthratio < $heightratio)
          {
            $ratio = $widthratio;
          }
          else
          {
            $ratio = $heightratio;
          }

          $newwidth = $width * $ratio;
          $newheight = $height * $ratio;
          */
          $newwidth = $width * $i;
          $newheight = $height * $i;
          if(function_exists("imagecopyresampled"))
          {
            $uploaddir_resize = imagecreatetruecolor($newwidth, $newheight);
            //echo $uploaddir_resize;
            imagecopyresampled($uploaddir_resize, $uploadfile, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
          }
          else
          {
            $uploaddir_resize = imagecreate($newwidth, $newheight);
            imagecopyresized($uploaddir_resize, $uploadfile, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
          }

          ImageJpeg ($uploaddir_resize,$filename);
          ImageDestroy ($uploaddir_resize);
        }
        else
        {
          ImageJpeg ($uploadfile,$filename);
        }
      }
      $pic_width_max = 120;
      $pic_height_max = 90;
      $file_type = $_FILES["file"]['type'];
      if($_FILES["file"]['size']){
        if($file_type == "image/pjpeg"||$file_type == "image/jpg"|$file_type == "image/jpeg")
        {
          //$im = imagecreatefromjpeg($_FILES['file']['tmp_name']);
          $im = imagecreatefromjpeg($uploadfile);
        }
        else if($file_type == "image/x-png")
        {
          //$im = imagecreatefrompng($_FILES['file']['tmp_name']);
          $im = imagecreatefromjpeg($uploadfile);
        }
        else if($file_type == "image/gif")
        {
          //$im = imagecreatefromgif($_FILES['file']['tmp_name']);
          $im = imagecreatefromjpeg($uploadfile);
        }
        else//默认jpg
        {
          $im = imagecreatefromjpeg($uploadfile);
        }

        if($im)
        {
          ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);
          ImageDestroy ($im);
        }
      }
    }

  • 相关阅读:
    UVALive 5983 MAGRID DP
    2015暑假训练(UVALive 5983
    poj 1426 Find The Multiple (BFS)
    poj 3126 Prime Path (BFS)
    poj 2251 Dungeon Master 3维bfs(水水)
    poj 3278 catch that cow BFS(基础水)
    poj3083 Children of the Candy Corn BFS&&DFS
    BZOJ1878: [SDOI2009]HH的项链 (离线查询+树状数组)
    洛谷P3178 [HAOI2015]树上操作(dfs序+线段树)
    洛谷P3065 [USACO12DEC]第一!First!(Trie树+拓扑排序)
  • 原文地址:https://www.cnblogs.com/nullman/p/6293242.html
Copyright © 2011-2022 走看看