1. 程式人生 > >php實現ckeditor編輯器新增水印及使用誤區

php實現ckeditor編輯器新增水印及使用誤區

是這個樣子的,我的在給一個比較老的網站需要增加文章水印的功能,本來我是想拷貝來的 用就成了, 但是總是有錯誤提示!

因此,只能自己寫了;

一、定義了一個 setwater.php的檔案

```


function setwater($src,$water){
        //$src 為需要新增圖片的源途徑;$water為水印圖片路徑;
        //測試後,路徑可採取相對路徑進行訪問;對此網站我們需要去掉 uploadfiles前的/

        $src_path = substr($src, 1);
        $water_path = $water;

        //獲取圖片的型別及寬/高
list($src_w,$src_h,$src_type) = getimagesize($src_path); list($water_w,$water_h) = getimagesize($water_path); //pos 為水印放置的位置;右下角 $posX = $src_w - $water_w; $posY = $src_h-$water_h;//假設它是符合座標系y原則, //關於 水印寬度高度設定;我們採取不設定,那麼水印的大小就是原始大小; if($src_w>400 && $src_h>200){
//1 = GIF,2 = JPG,3 = PNG,4 = SWF $water_source = imagecreatefrompng($water_path); switch ($src_type) { case 1: $src_source = imagecreatefromgif($src_path); imagecopy($src_source, $water_source, $posX, $posY, 0, 0, $src_w, $src_h);
imagegif($src_source,$src_path); break; case 2: $src_source = imagecreatefromjpeg($src_path); imagecopy($src_source, $water_source, $posX, $posY, 0, 0, $src_w, $src_h); imagejpeg($src_source,$src_path); break; case 3: $src_source = imagecreatefrompng($src_path); imagecopy($src_source, $water_source, $posX, $posY, 0, 0, $src_w, $src_h); imagepng($src_source,$src_path); break; default: break; } $src = "/".$src_path; return $src; }else{ //小圖片不加水印 return $src; } imagedestroy($src_source); imagedestroy($water_source); } ```
在編輯器圖片板塊的檔案中設定呼叫:
``` //新增水印開始 $filename = $config['site_url'].$file_abso; $wate = syurl; setwater($filename,$wate); //新增水印結束 ``` 這個方法呢只傳入兩個引數,是圖片的源路徑, 關於路徑,就是類似 很多網站自己定義的/upfileloads/…….......jpg,是讀取不到圖片的,可以使用網站的絕對路徑或者相對路徑才能進行訪問! 第二個,網站有個隨機命名圖片名稱的方式,但是在我設定圖片增加水印的方法後,提示 it is,總之就是時區不對 的意思,在php.ini增加,時區為重慶,才ok了!