phpcms不能加水印怎么办

来源:undefined 2024-12-29 13:04:05 1009

phpcms不能加水印怎么办?

phpcms远程图片本地化不成功及加水印功能失效的解决教程

具体修改如下: include/attachment.class.php 添加了一个函数

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

function ycimg($file,$newfile)

{

// 初始化一个 cURL 对象

$curl = curl_init();

// 设置你需要抓取的URL

curl_setopt($curl, CURLOPT_URL, $file);

// 设置header

curl_setopt($curl, CURLOPT_HEADER, 0);

// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

// 运行cURL,请求网页

$data = curl_exec($curl);

// 关闭URL请求

curl_close($curl);

//写入获得的数据

$write = @fopen($newfile,"w");

fwrite($write,$data);

fclose($write);

return TRUE;

}

登录后复制

这里可能有点小问题.不过测试的时候都可以成功抓取.所以直接让他返回了 TRUE .有兴趣的朋友可以继续完善下这个函数.

立即学习PHP免费学习笔记(深入)”;

然后在这文件里找到

1

if(@$upload_func($file, $newfile))

登录后复制

修改为:

1

if($this->ycimg($file,$newfile))

登录后复制

最后去掉:

1

@chmod($newfile, 0777);

登录后复制

这一段代码.

这样远程抓取的时候成功率就很高了.本地测试的时候成功率100%,而copy函数成功率不到70% ……

再就是远程保存的图片加水印的功能.

同样还是这个文件.找到以下代码:

1

$this->downloadedfiles[$aid] = $filepath;

登录后复制

在下面加入以下代码:

代码如下:

1

2

3

4

$waterpath = UPLOAD_URL.$filepath;

require_once image.class.php;

$image = new image();

$image->watermark($waterpath, , 9, images/watermark.gif, , 5, #ff0000, 80,100);

登录后复制

水印参数只能这里调整,系统里的设置无效……

PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!

以上就是phpcms不能加水印怎么办的详细内容,更多请关注php中文网其它相关文章!

最新文章