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

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

2
回复
992
查看
[复制链接]

763

主题

777

帖子

3万

积分

董事

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

积分
32946
发表于 19-3-20 19:46:28 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
这是前段时间,配置公司网站时解决的一个问题,现做一个记录,顺便给需要这个功能的大家。! Z. K2 x/ d2 O/ X/ P: }( }, Y) B
- w* x& G7 c3 @
经过几天的代码分析,逐渐找到需要添加水印的地方,最终只添加了几行代码。6 R( f; N+ m( l- f9 j
2 T. j' p- B2 o- q
直接上教程:
) q$ q, [, @  ?) g首先打开5 v* s4 u% a6 Z4 ]  o  ]
  1. source/class/extend/extend_thread_sort.php
复制代码
此为extend_thread_sort类,) [: O  h/ h2 d
在其方法的public function after_newthread()中4 S% v* A* R  K1 ?3 B9 Y% Q- P
1 a7 a0 t2 `% R0 s4 Q# x
找到此段代码(注意有两处  我们需要找到第二处(全词匹配搜索 aid ))
8 o# {; t& w+ V% m; {1 s# w
  1. if($_G['forum_optionlist'][$optionid]['type'] == 'image') {
    + m* {6 B, l' ?& N8 U7 q. O
  2. $identifier = $_G['forum_optionlist'][$optionid]['identifier'];
    / r4 M2 e& J3 y1 @2 @+ w
  3. $sortaids[] = intval($_GET['typeoption'][$identifier]['aid']);
复制代码
701255c92277603f1f.png 6 W1 k& @3 g# |+ ]2 v
将此处到吗替换成
8 @) g* I9 l0 j. f2 X/ w8 }' |8 E; E3 b
  1. if($_G['forum_optionlist'][$optionid]['type'] == 'image') {
    ; i4 z) l/ P# }7 i1 o
  2.                                                 $identifier = $_G['forum_optionlist'][$optionid]['identifier'];
    6 ^- j8 m# G" V- t# v8 r  d
  3.                                                 $sortaids[] = intval($_GET['typeoption'][$identifier]['aid']);6 r' W8 S3 d& _8 M# P% o6 e
  4.                                         require_once libfile('class/image');! ~+ t/ W  O0 x8 b3 T
  5.                                                 $image = new image;1 c0 Q; D9 N* P  H- A
  6.                                                 $imgoptiondata = dunserialize($value);
    6 u* P) w5 Z8 L
  7.                                         if($_G['setting']['watermarkstatus'] && empty($_G['forum']['disablewatermark'])) {7 l! K/ h7 j* {8 L8 G
  8.                                                 $image->Watermark($imgoptiondata['url'], '', 'forum');$ i' z- v1 Q2 m' L/ G" N
  9.                                                 $update['filesize'] = $image->imginfo['size'];+ n5 w8 E3 X& Z
  10.                         }
复制代码
替换后的效果图: R' `1 q3 l5 \6 T) r$ [; P8 j9 p
962795c92273c4f3bb.png
; u3 m& ?; c) R& f) v
; k. }! g& r+ g  i+ B替换以上代码后,更新缓存做测试。2 u9 a: @1 K( u; [1 d
分析过程比较曲折,由于前段时间已经对分类信息相对比较熟悉,知道disucz 中分类信息的整个解析过程,所以这次根据论坛附件图片中添加水印的方法,一步一步的定位到需要添加水印的位置。
- ]. K: {6 V% M# n( a* R到此代码结束!% Q1 P; |$ q! l& N. V: f

8 _4 B0 F2 l9 A7 q  n

0

主题

9

帖子

20

积分

1°伸手党

Rank: 2

积分
20
发表于 19-9-19 16:21:30 | 显示全部楼层         
路过,学习下
回复

使用道具 举报

0

主题

8

帖子

4

积分

1°伸手党

Rank: 2

积分
4
发表于 19-10-29 02:18:50 | 显示全部楼层         
不知该说些什么。。。。。。就是谢谢
回复

使用道具 举报

网站简介

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