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

来自: Discuz 作者: 水煮鱼 时间: 2010-12-5 23:21 查看: 6447 回复: 0

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

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

找到:
  1. @unlink(UC_DATADIR.'./tmp/upload'.$uid.$filetype);
复制代码


下面加:
  1.                 //限制头像尺寸大小
  2.                 $size = GetImageSize($bigavatarfile);//获取需要处理的文件
  3.                 if($size[2] != 1) {
  4.                         $maxavatarpixel_w = 120;//限制头像尺寸像素 宽
  5.                         $maxavatarpixel_h = 200;//限制头像尺寸像素 高
  6.                         $im_from = $bigavatarfile;//创建图片来源
  7.                         $im_info = getimagesize("$im_from");//需要处理的图片的原始地址
  8.                         $im_width = $im_info["0"];//获取图片宽度
  9.                         $im_height = $im_info["1"];//获取图片高度
  10.                         $imb_width = $imb_height = 0;
  11.                         if($im_width > $maxavatarpixel_w) {
  12.                                 $imb_width = $maxavatarpixel_w;
  13.                                 $imb_height = intval($im_height*($maxavatarpixel_w/$im_width));
  14.                         }
  15.                         if($im_height > $maxavatarpixel_h || $imb_height > $maxavatarpixel_h) {
  16.                                 $imb_width = intval($im_width*($maxavatarpixel_h/$im_height));
  17.                                 $imb_height = $maxavatarpixel_h;
  18.                                 if($imb_width > $maxavatarpixel_w) {
  19.                                         $imb_height = intval($imb_height*($maxavatarpixel_w/$imb_width));
  20.                                         $imb_width = $maxavatarpixel_w;
  21.                                 }
  22.                         }
  23.                         if(!$imb_width || !$imb_height) {
  24.                                 $imb_width = $im_width;
  25.                                 $imb_height = $im_height;
  26.                         }
  27.                         $im_out = imagecreatetruecolor($imb_width, $imb_height);//创建一个真彩色的空白图片
  28.                         
  29.                         if($size[2] == 3) {
  30.                                 $im_in = imagecreatefrompng($im_from);
  31.                         } else {
  32.                                 $im_in = imagecreatefromjpeg($im_from);
  33.                         }
  34.                         imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $imb_width, $imb_height, $im_width, $im_height);//开始压缩图片
  35.                         if($size[2] == 3) {//输出图片
  36.                                 imagepng($im_out, $middleavatarfile, 100);
  37.                         } else {
  38.                                 imagejpeg($im_out, $middleavatarfile, 100);
  39.                         }
  40.                         chmod($middleavatarfile, 0777);
  41.                         imagedestroy($im_in);
  42.                         imagedestroy($im_out);//释放内存
  43.                 }//限制头像尺寸大小
复制代码
快速回复
您需要登录后才可以回帖 登录 | 注册
Smilies Code
高级模式