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

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

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

最近发现有vip会员提出了08版远程存储图片效率不太高,通过率低的问题。他们查询源代码并应用复制功能。百度和谷歌过了一段时间,大部分都建议放弃这个功能的应用,因为被网络空危害更大。

因此应用了curl函数来更换,历经检测针对防盗链的照片远程抓取仍然合理,此外加上了远程保存图片的添加水印作用.
2010年10月10日19:30:18全新声明:php务必开启适用curl函数,实际开启方式参考大家的另一篇文章,不然没法应用本方式。
网络服务器适用PHPcurl函数开启CURL拓展:
https://www.jb51.net/article/26583.htm
实际改动以下:include/attachment.class.php加上了一个函数

复制代码编码以下:
functionycimg($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);
returnTRUE;
}

这儿很有可能有点儿小问题.但是检测的情况下都能够取得成功抓取.因此立即使他回到了TRUE.有兴趣爱好的盆友能够再次健全下这一函数.
随后在这里文档里寻找
if(@$upload_func($file,$newfile))
改动为:
if($this->ycimg($file,$newfile))
最终除掉:
@chmod($newfile,0777);
这一段编码.
那样远程抓取的情况下通过率就很高了.当地检测的情况下通过率100%,而copy函数通过率不上70%……
上边说过,互联网要素危害较为大.
再有就是远程储存的图片加水印的作用.
一样還是这一文档.寻找下列编码:
$this->downloadedfiles[$aid]=$filepath;
在下面添加下列编码:

复制代码编码以下:
$waterpath=UPLOAD_URL.$filepath;
require_once'image.class.php';
$image=newimage();
$image->watermark($waterpath,'','9','images/watermark.gif','','5','#ff0000','80','100');

图片水印主要参数只有这儿调节,系统软件里的设定失效……

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/773058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存