网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程

批量修改标题缩略图功能6.0【titlepic】

时间:2025-03-29 02:33:40    来源:    人气:0

在使用帝国CMS构建商城系统时,上传大量产品图片后,有时需要调整缩略图大小。以下是一个经过修改的方法,确保适用于6.0版本的帝国CMS。

首先,在t_functions.php文件中添加两个函数:


function Titlepic_all ($id, $classid, $userid, $username, $pwidth, $pheight) {
    global $empire,$class_r,$class_zr,$dbtbpre,$keys;
    $count = count ($id);
    if (!$count) {
        printerror ('Noteditpic', 'history.go(-1)');
    }
    for ($i = 0; ($i < $count); ++$i) {
        $r = $empire->fetch1 ('select * from phome_ecms_'.$class_r[$classid][tbname].' where id='.$id[$i].' and titlepic<>""');
        if(!emptyempty($r[id])){
            ImageResize("../../".$r[titlepic],$pwidth,$pheight,"../../".$r[titlepic]);
        }
    }
    printerror ('TitlepicAllSuccess', $_SERVER['HTTP_REFERER']);
}

Function ImageResize($srcFile,$toW,$toH,$toFile="") {
    global $keys;
    if($toFile==""){ $toFile = substr($srcFile,0,-4)."small".substr($srcFile,-4); }
    $info = "";
    $data = GetImageSize($srcFile,$info);
    switch ($data[2]) {
        case 1:
            if(!function_exists("imagecreatefromgif")){
                echo "你的GD库不能使用GIF格式的图片,请使用Jpeg或PNG格式!<a href='javascript:go(-1);'>返回</a>";
                exit();
            }
            $im = ImageCreateFromGIF($srcFile);
            break;
        case 2:
            if(!function_exists("imagecreatefromjpeg")){
                echo "你的GD库不能使用jpeg格式的图片,请使用其它格式的图片!<a href='javascript:go(-1);'>返回</a>";
                exit();
            }
            $im = ImageCreateFromJpeg($srcFile);
            break;
        case 3:
            $im = ImageCreateFromPNG($srcFile);
            break;
    }
    $srcW = ImageSX($im);
    $srcH = ImageSY($im);
    $keys= 0;
    if (($srcW>$toW) or ($srH>$toH)){
        if(($srcW/$toW)>=($srcH/$toH)){
            $temp_height=$toH;
            $temp_width=$srcW/($srcH/$toH);
            $src_X=Abs(($toW-$temp_width)/2);
            $src_Y=0;
        } else {
            $temp_width=$toW;
            $temp_height=$srcH/($srcW/$toW);
            $src_X=0;
            $src_Y=Abs(($toH-$temp_height)/2);
        }
        $temp_img=ImageCreateTrueColor($temp_width,$temp_height);
        imagecopyResampled($temp_img,$im,0,0,0,0,$temp_width,$temp_height,$srcW,$srcH);
        $ni=ImageCreateTrueColor($toW,$toH);
        imagecopyResampled($ni,$temp_img,0,0,$src_X,$src_Y,$toW,$toH,$toW,$toH);
        if(Function_exists('imagejpeg')) ImageJpeg($ni,$toFile);
        else ImagePNG($ni,$toFile);
        ImageDestroy($ni);
        $keys= 1;
    }
    ImageDestroy($im);
}

接下来,在e/admin/ListNews.php(还有e/admin/ListAllInfo.php)页面的最后几行“选中全部 </td></tr>”后面添加以下代码:

<tr bgcolor="#FFFFFF">
<td height="25" colspan="8"><div align="right">
缩略图宽: <input name="pwidth" type="text" value="120" width="60">
缩略图高: <input name="pheight" type="text" value="120" width="60">
<input type="submit" name="Submit355" value="修改缩略图" onClick="document.listform.enews.value='Titlepic_all';">
</div></td></tr>

其中,图宽和图高的默认值可以根据实际需求进行设定,设置好后操作会更加方便。

然后,在e/admin/ecmsinfo.php中添加如下代码:

//批量加标题图片
elseif($enews=="Titlepic_all") {
    $id=$_POST@['id'];
    $classid=$_POST@['classid'];
    $bclassid=$_POST@['bclassid'];
    $pwidth=$_POST@['pwidth'];
    $pheight=$_POST@['pheight'];
    Titlepic_all($id,$classid,$logininid,$loginin,$pwidth,$pheight);
}

最后,在e/data/language/gb/pub/message.php中添加提示信息:

'Noteditpic'=>'没有选择!',
'TitlepicAllSuccess'=>'操作成功!',

这一步不是必须的,但可以提高用户体验。完成以上步骤后,您就可以轻松地批量调整缩略图大小了。


相关文章

  • Pbootcms修改留言“提交成功”提示语

    Pbootcms修改留言“提交成功”提示语

    如果您正在使用 PbootCMS 构建网站,并希望自定义留言功能的提示语,那么本文将为您提供详细的指导。通过修改相关文件,您可以轻松更改“提交成功”的提示语,以满足您的个性化需求。以下是具体的操作步骤: 首先,您需要找到并打开以下文件路径: /apps/home/controller/Messag...
    2025-04-01
  • PBootCMS上传缩略图尺寸限制修改方法

    PBootCMS上传缩略图尺寸限制修改方法

    在使用PbootCMS为客户搭建网站的过程中,可能会遇到上传缩略图时尺寸被限制的问题。例如,上传一张1920px宽的图片后,发现实际显示的尺寸仅为1000px,而在后台找不到相关设置选项。实际上,这种缩略图尺寸的限制是需要通过修改系统文件来解决的。 PbootCMS程序默认将缩略图的最大尺寸限...
    2025-04-01
  • PBootCMS模板中如何调用网站全部文章

    PBootCMS模板中如何调用网站全部文章

    在使用PBootCMS构建网站时,许多人可能会遇到如何在模板文件中调用全站所有文章的需求。本文将详细介绍如何通过PBootCMS的标签语法实现这一功能,并提供一些实用的技巧。 要调用网站所有的文章,可以使用PBootCMS提供的列表标签 `{pboot:list}`。以下是具体的操作方法: ...
    2025-04-01
  • PBootCMS编辑器过滤DIV代码的解决方法

    PBootCMS编辑器过滤DIV代码的解决方法

    在使用 PbootCMS 构建网站的过程中,您可能会遇到需要在专题内容中插入包含 HTML 代码的情况。然而,当您尝试这样做时,会发现编辑器自动去除了部分标签元素,并且将所有的 div 标签转换为了 p 标签。那么,我们该如何解决这个问题呢? AB模板网的专家表示,这是由于编辑器自身的机制导致...
    2025-04-01

公众号