phpcms不能加水印怎么辦?
phpcms遠程圖片本地化不成功及加水印功能失效的解決教程
具體修改如下: include/attachment.class.php 添加了一個函數
代碼如下:
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免費學習筆記(深入)”;
然后在這文件里找到
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?=?new?image(); $image->watermark($waterpath,?'',?'9',?'images/watermark.gif',?'',?'5',?'#ff0000',?'80','100');
水印參數只能這里調整,系統里的設置無效……
PHP中文網,大量的免費PHPCMS教程,歡迎在線學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦