96编辑器旗下产品
找图
终身
ID:0
到期时间:永久
退出登录
您的位置:首页 > 百科管理 > 详情

php图片压缩上传不了-phpcms中文本编辑器里上传的图片怎么压缩?急!在线等!

原创:找图网 2023-05-03 17:21:19
  • 织梦网站上传不了图片,一点上传到服务器不显示图片这是为什么?求高手指教

  • 下图所示情况,织梦网站上传不了图片的解决办法如下:

    我使用的是dedecms5.7SP2版本

    (步骤1)打开phpstudy,点击“PHP版本”,将

    PHP版本切换到5.5及以上,

    点击“应用”

    (步骤2)重启phpstudy,就可以上传图片了。

  • PHP、HTML5上传图片自动压缩问题

  • 给你个图片处理的类吧,图片剪裁处理后,也就等于将图片压缩了。

    /**

    * 图像处理类

    * ============================================================================

     * Copyright 2014 大秦科技,并保留所有权利。

     * 网站地址: ;

     * ============================================================================

    */

    class Image{

        //生成缩略图的方式

        public $thumbType;

        //缩略图的宽度

        public $thumbWidth;

        //缩略图的高度

        public $thumbHeight;

        //生成缩略图文件名后缀

        public $thumbEndFix;

        //缩略图文件前缀

        public $thumbPreFix;

        /**

         * 构造函数

         */

        public function __construct(){

            $this->thumbType = 1;

            $this->thumbWidth = 120;

            $this->thumbHeight = 60;

            $this->thumbPreFix ='';

            $this->thumbEndFix =  '_thumb';

        }

        /**

         * 检测是否为图像文件

         * @param $img 图像

         * @return bool

         */

        private function check($img){

            $type = array(".jpg", ".jpeg", ".png", ".gif");

            $imgType = strtolower(strrchr($img, '.'));

            return extension_loaded('gd') && file_exists($img) && in_array($imgType, $type);

        }

        /**

         * 获得缩略图的尺寸信息

         * @param $imgWidth 原图宽度

         * @param $imgHeight 原图高度

         * @param $thumbWidth 缩略图宽度

         * @param $thumbHeight 缩略图的高度

         * @param $thumbType 处理方式

         * 1 固定宽度  高度自增 2固定高度  宽度自增 3固定宽度  高度裁切

         * 4 固定高度 宽度裁切 5缩放最大边 原图不裁切

         * @return mixed

         */

        private function thumbSize($imgWidth, $imgHeight, $thumbWidth, $thumbHeight, $thumbType){

            //初始化缩略图尺寸

            $w = $thumbWidth;

            $h = $thumbHeight;

            //初始化原图尺寸

            $cuthumbWidth = $imgWidth;

            $cuthumbHeight = $imgHeight;

            switch ($thumbType) {

                case 1 :

                    //固定宽度  高度自增

                    $h = $thumbWidth / $imgWidth * $imgHeight;

                    break;

                case 2 :

                    //固定高度  宽度自增

                    $w = $thumbHeight / $imgHeight * $imgWidth;

                    break;

                case 3 :

                    //固定宽度  高度裁切

                    $cuthumbHeight = $imgWidth / $thumbWidth * $thumbHeight;

                    break;

                case 4 :

                    //固定高度  宽度裁切

                    $cuthumbWidth = $imgHeight / $thumbHeight * $thumbWidth;

                    break;

                case 5 :

                    //缩放最大边 原图不裁切

                    if (($imgWidth / $thumbWidth) > ($imgHeight / $thumbHeight)) {

                        $h = $thumbWidth / $imgWidth * $imgHeight;

                    } elseif (($imgWidth / $thumbWidth) < ($imgHeight / $thumbHeight)) {

                        $w = $thumbHeight / $imgHeight * $imgWidth;

                    } else {

                        $w = $thumbWidth;

                        $h = $thumbHeight;

                    }

                    break;

                default:

                    //缩略图尺寸不变,自动裁切图片

                    if (($imgHeight / $thumbHeight) < ($imgWidth / $thumbWidth)) {

                        $cuthumbWidth = $imgHeight / $thumbHeight * $thumbWidth;

                    } elseif (($imgHeight / $thumbHeight) > ($imgWidth / $thumbWidth)) {

                        $cuthumbHeight = $imgWidth / $thumbWidth * $thumbHeight;

                    }

    //            }

            }

            $arr [0] = $w;

            $arr [1] = $h;

            $arr [2] = $cuthumbWidth;

            $arr [3] = $cuthumbHeight;

            return $arr;

        }

        /**

         * 图片裁切处理

         * @param $img 原图

         * @param string $outFile 另存文件名

         * @param string $thumbWidth 缩略图宽度

         * @param string $thumbHeight 缩略图高度

         * @param string $thumbType 裁切图片的方式

         * 1 固定宽度  高度自增 2固定高度  宽度自增 3固定宽度  高度裁切

         * 4 固定高度 宽度裁切 5缩放最大边 原图不裁切 6缩略图尺寸不变,自动裁切最大边

         * @return bool|string

         */

        public function thumb($img, $outFile = '', $thumbWidth = '', $thumbHeight = '', $thumbType = ''){

            if (!$this->check($img)) {

                return false;

            }

            //基础配置

            $thumbType = $thumbType ? $thumbType : $this->thumbType;

            $thumbWidth = $thumbWidth ? $thumbWidth : $this->thumbWidth;

            $thumbHeight = $thumbHeight ? $thumbHeight : $this->thumbHeight;

            //获得图像信息

            $imgInfo = getimagesize($img);

            $imgWidth = $imgInfo [0];

            $imgHeight = $imgInfo [1];

            $imgType = image_type_to_extension($imgInfo [2]);

            //获得相关尺寸

            $thumb_size = $this->thumbSize($imgWidth, $imgHeight, $thumbWidth, $thumbHeight, $thumbType);

            //原始图像资源

            $func = "imagecreatefrom" . substr($imgType, 1);

            $resImg = $func($img);

            //缩略图的资源

            if ($imgType == '.gif') {

                $res_thumb = imagecreate($thumb_size [0], $thumb_size [1]);

                $color = imagecolorallocate($res_thumb, 255, 0, 0);

            } else {

                $res_thumb = imagecreatetruecolor($thumb_size [0], $thumb_size [1]);

                imagealphablending($res_thumb, false); //关闭混色

                imagesavealpha($res_thumb, true); //储存透明通道

            }

            //绘制缩略图X

            if (function_exists("imagecopyresampled")) {

                imagecopyresampled($res_thumb, $resImg, 0, 0, 0, 0, $thumb_size [0], $thumb_size [1], $thumb_size [2], $thumb_size [3]);

            } else {

                imagecopyresized($res_thumb, $resImg, 0, 0, 0, 0, $thumb_size [0], $thumb_size [1], $thumb_size [2], $thumb_size [3]);

            }

            //处理透明色

            if ($imgType == '.gif') {

                imagecolortransparent($res_thumb, $color);

            }

            //配置输出文件名

            $imgInfo = pathinfo($img);

            $outFile = $outFile ? $outFile :dirname($img).'/'. $this->thumbPreFix . $imgInfo['filename'] . $this->thumbEndFix . "." . $imgInfo['extension'];

            Files::create(dirname($outFile));

            $func = "image" . substr($imgType, 1);

            $func($res_thumb, $outFile);

            if (isset($resImg))

                imagedestroy($resImg);

            if (isset($res_thumb))

                imagedestroy($res_thumb);

            return $outFile;

        }

    }

  • phpcms中文本编辑器里上传的图片怎么压缩?急!在线等!

  • 如果是jpeg的图片可以设置质量来进行保存 但是会出现图片不清楚的情况,一般的话设置为90%就可以了。

    最新文章 更多
    最新素材 更多
    公司介绍 网站地图 图片资讯
    Copyright © 2010-2022 山东找图网络科技有限公司  鲁ICP备18007836号-3  邮箱:15653358549@163.com