水煮鱼 发表于 2010-12-5 23:21:14

修改论坛上传头像后的尺寸大小

此方法适用于Dz7.2、Dx1.5版本的论坛

在UC的安装目录下找到 control 目录, 修改其中的 user.php 文件

找到:
@unlink(UC_DATADIR.'./tmp/upload'.$uid.$filetype);

下面加:
                //限制头像尺寸大小
                $size = GetImageSize($bigavatarfile);//获取需要处理的文件
                if($size != 1) {
                        $maxavatarpixel_w = 120;//限制头像尺寸像素 宽
                        $maxavatarpixel_h = 200;//限制头像尺寸像素 高
                        $im_from = $bigavatarfile;//创建图片来源
                        $im_info = getimagesize("$im_from");//需要处理的图片的原始地址
                        $im_width = $im_info["0"];//获取图片宽度
                        $im_height = $im_info["1"];//获取图片高度
                        $imb_width = $imb_height = 0;
                        if($im_width > $maxavatarpixel_w) {
                              $imb_width = $maxavatarpixel_w;
                              $imb_height = intval($im_height*($maxavatarpixel_w/$im_width));
                        }
                        if($im_height > $maxavatarpixel_h || $imb_height > $maxavatarpixel_h) {
                              $imb_width = intval($im_width*($maxavatarpixel_h/$im_height));
                              $imb_height = $maxavatarpixel_h;
                              if($imb_width > $maxavatarpixel_w) {
                                        $imb_height = intval($imb_height*($maxavatarpixel_w/$imb_width));
                                        $imb_width = $maxavatarpixel_w;
                              }
                        }
                        if(!$imb_width || !$imb_height) {
                              $imb_width = $im_width;
                              $imb_height = $im_height;
                        }
                        $im_out = imagecreatetruecolor($imb_width, $imb_height);//创建一个真彩色的空白图片
                        
                        if($size == 3) {
                              $im_in = imagecreatefrompng($im_from);
                        } else {
                              $im_in = imagecreatefromjpeg($im_from);
                        }
                        imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $imb_width, $imb_height, $im_width, $im_height);//开始压缩图片
                        if($size == 3) {//输出图片
                              imagepng($im_out, $middleavatarfile, 100);
                        } else {
                              imagejpeg($im_out, $middleavatarfile, 100);
                        }
                        chmod($middleavatarfile, 0777);
                        imagedestroy($im_in);
                        imagedestroy($im_out);//释放内存
                }//限制头像尺寸大小
页: [1]
查看完整版本: 修改论坛上传头像后的尺寸大小