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);
        }
      }
    }

  • 相关阅读:
    svn使用
    navicat 15 安装破解
    thinkpad交换Fn和Ctrl
    emqx_mqtt安装+mqtt管理工具
    Adobe XD使用
    FolderPainter:windows系统为文件夹设置不同颜色
    rest client 代替postman
    使用bfg快速清理git历史大文件
    Adobe Acrobat XI Pro v11.0.10中文版
    Excel 2016打开文档时提示“操作系统当前的配置不能运行此应用程序”
  • 原文地址:https://www.cnblogs.com/nullman/p/6293242.html
Copyright © 2011-2022 走看看