腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

discuz! 分类信息中图片加水印方法

0
回复
350
查看
[复制链接]

691

主题

705

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
31859
     紫钻仅向指定用户开放  
发表于 19-3-20 19:46:28 | 显示全部楼层 |阅读模式
这是前段时间,配置公司网站时解决的一个问题,现做一个记录,顺便给需要这个功能的大家。+ C! }6 v* `. w4 O& v* j5 N5 }7 L* C$ p

4 j# Q' e8 T0 ~  T经过几天的代码分析,逐渐找到需要添加水印的地方,最终只添加了几行代码。
& e: g6 J4 {; z- b
* }6 N6 ?) U* g7 b3 K% ^1 r直接上教程:/ b9 y0 h8 }: w7 L& v5 @$ |0 D: u' g
首先打开+ q0 \- K) I; o
  1. source/class/extend/extend_thread_sort.php
复制代码
此为extend_thread_sort类,/ o' B7 m( o: g  s, x  [1 I
在其方法的public function after_newthread()中
* Z1 I  p( T: t# t& H, [# C% m  q2 m' u9 Q  c  h  z$ j. \  t/ r! i6 L
找到此段代码(注意有两处  我们需要找到第二处(全词匹配搜索 aid ))- d& T. }- }! }  f8 A4 ]' L
  1. if($_G['forum_optionlist'][$optionid]['type'] == 'image') {7 T- D' G0 \8 b& W
  2. $identifier = $_G['forum_optionlist'][$optionid]['identifier'];; I% W* a& u9 b) ]2 b
  3. $sortaids[] = intval($_GET['typeoption'][$identifier]['aid']);
复制代码

; k' ?6 X1 ?" n0 }, o将此处到吗替换成' c$ m" Z, P& G& f% c* i2 o# Z
  1. if($_G['forum_optionlist'][$optionid]['type'] == 'image') {
    7 G. c' B) d8 B5 z# y4 K3 {: R
  2.                                                 $identifier = $_G['forum_optionlist'][$optionid]['identifier'];+ o; q2 Y1 w  F- a' m; w
  3.                                                 $sortaids[] = intval($_GET['typeoption'][$identifier]['aid']);- r" @- U; K7 U  i
  4.                                         require_once libfile('class/image');8 x8 u/ Q! F$ R+ @7 O
  5.                                                 $image = new image;
    6 j0 B* p+ |! _; [2 v8 X$ R
  6.                                                 $imgoptiondata = dunserialize($value);8 N4 H: l; G" y" ?
  7.                                         if($_G['setting']['watermarkstatus'] && empty($_G['forum']['disablewatermark'])) {
    8 T0 k( i- E% a! ^+ k% K
  8.                                                 $image->Watermark($imgoptiondata['url'], '', 'forum');
    . _) J0 F! E% w' ]
  9.                                                 $update['filesize'] = $image->imginfo['size'];
    ' c1 b: `  n/ I
  10.                         }
复制代码
替换后的效果图
+ A5 A" }6 ^2 W& o; V3 e2 V- Y; O- k" c% D
! K0 ]" z2 |7 T7 L( E
替换以上代码后,更新缓存做测试。
1 ?, L$ `- Z& Z) q( Y4 ?分析过程比较曲折,由于前段时间已经对分类信息相对比较熟悉,知道disucz 中分类信息的整个解析过程,所以这次根据论坛附件图片中添加水印的方法,一步一步的定位到需要添加水印的位置。, A3 A' e: i7 Z% C' I' }4 Y+ F
到此代码结束!
/ _8 J* c9 [$ H+ m+ f" z( i1 [( o# u1 N0 i. S/ z) c$ n

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

qiuqiufa.com

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除