下一篇 » « 上一篇

pa文章系统上传缩略图自动生成-需gd支持

作者:dream    时间:2008-01-22    来源:http://www.socool.ca/view-thread-2072.html    点击:7488    本文共1篇文章 字体:[ ]

pa文章系统上传缩略图自动生成-需gd支持

打开您的contribute.php,找到
if (!empty($_FILES['image']['tmp_name'])) {
        $original = $_FILES['image']['name'];
        $filename = md5(uniqid(microtime(),1));
        if (($_FILES['image']['type']=="image/pjpeg" OR $_FILES['image']['type']=="image/gif" OR $_FILES['image']['type']=="image/x-png") AND copy($_FILES['image']['tmp_name'], "./upload/images/$filename")) {


替换成

if (!empty($_FILES['image']['tmp_name'])) {
        $original = $_FILES['image']['name'];
                //add by dream
                $photodir ="upload/images/"; www.444p.com
                                       
         $tx=GetImageSize($_FILES['image']['tmp_name']);
  if($tx[0]<=$tx[1] and $tx[1]>=120){
     $height=120;
     $width=intval($height*$tx[0]/$tx[1]);
  }
  if($tx[0]>=$tx[1] and $tx[0]>=100){
     $width=100;
     $height=intval($width*$tx[1]/$tx[0]);
  }
  if($tx[0]<100 and $tx[1]<120){
     $width=$tx[0];
     $height=$tx[1];
  }
        $filename = md5(uniqid(microtime(),1));
         
        if (($_FILES['image']['type']=="image/pjpeg" OR $_FILES['image']['type']=="image/gif" OR $_FILES['image']['type']=="image/x-png") AND copy($_FILES['image']['tmp_name'], "./upload/images/$filename")) {
php学习之家

//add by dream
makethumb2($_FILES['image']['tmp_name'],$photodir.$filename,$width,$height);
//add by dream

打开globle.php在最后加上

//by dream
//利用GD库制作小图的函数,需要GD库支持
// $srcFile: 源文件
  // $dstFile: 目标文件
  // $dstW: 目标图片宽度
  // $dstH: 目标文件高度
  function makethumb2($srcFile,$dstFile,$dstW,$dstH){
          $imgQuality=85;
           $data=GetImageSize($srcFile,&$info);
           switch($data[2]){
                  case 1:
                       $im=@ImageCreateFromGIF($srcFile); www.444p.com
                       break;
                  case 2:
                       $im=@ImageCreateFromJPEG($srcFile);
                       break;
                  case 3:
                       $im=@ImageCreateFromPNG($srcFile);
                       break;
           } www.444p.com
           $srcW=ImageSX($im);
           $srcH=ImageSY($im);
           $ni=imagecreatetruecolor($dstW,$dstH);
           ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
           ImageJpeg($ni,$dstFile, $imgQuality);
       

           // 如果需要输出到浏览器,那么将上一句改为ImageJpeg($ni);
           // 如果需要其它格式的图片,改动最后一句就可以了
  }

这个hack,大家可以根据具体情况发挥,比如可以让发布者选择缩略图的大小,120,200,300,也可以只允许管理员有选择权,其他会员只能用默认大小。

php学习之家


本hack需gd支持。
责任编辑:semirock
发表评论
密码: (游客不需要密码)
记住我【Alt+S 或 Ctrl+Enter 快速提交】

搜索工具


热门搜索: [html][html][else][MYsql][mysql][调用][date][print][配置][配置]

《Phparticle》点击排行