利用PHP與七牛雲端儲存介面實現圖片浮水印添加的方法
引言:
隨著網路的發展,圖片在網頁設計和應用中扮演了非常重要的角色。為了保護個人或企業的版權,有時需要在圖片上添加浮水印。本文將介紹如何使用PHP和七牛雲端儲存介面實現圖片浮水印添加的方法。
一、準備工作
在開始之前,你需要確保你擁有以下環境和資源:
二、添加浮水印的原理
要添加水印,我們需要先將待添加水印的圖片上傳到七牛雲存儲,並獲取到帶有水印的圖片URL。然後,我們可以透過在HTML裡加入圖片標籤,指定圖片的URL,來實現在網頁上顯示帶有浮水印的圖片。
三、步驟詳解
接下來,我們將依照以下步驟來操作。
安裝七牛雲端儲存的PHP SDK
可以透過composer進行安裝。進入專案資料夾,並執行以下命令:
composer require qiniu/php-sdk
配置七牛雲端儲存參數
在專案中新建一個config.php文件,並新增以下內容:
<?php // 七牛云存储的秘钥 define('QINIU_ACCESS_KEY', 'your_access_key'); define('QINIU_SECRET_KEY', 'your_secret_key');
這裡需要將your_access_key和your_secret_key替換為你自己的七牛雲端儲存的金鑰。
上傳圖片到七牛雲端儲存
在專案中新建一個upload.php文件,並新增以下內容:
<?php require_once('config.php'); require_once('vendor/autoload.php'); use QiniuAuth; use QiniuStorageUploadManager; $bucket = 'your_bucket_name'; $auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY); $token = $auth->uploadToken($bucket); if ($_FILES['file']['error'] === UPLOAD_ERR_OK) { $file_path = $_FILES['file']['tmp_name']; $key = uniqid(); $upload_manager = new UploadManager(); list($ret, $err) = $upload_manager->putFile($token, $key, $file_path); if ($err !== null) { echo json_encode(['status' => 'error', 'message' => '上传图片失败']); } else { $image_url = 'http://your_bucket_domain/' . $key; echo json_encode(['status' => 'success', 'image_url' => $image_url]); } } else { echo json_encode(['status' => 'error', 'message' => '上传图片失败']); }
這裡需要將your_bucket_name替換為你自己的七牛雲端儲存的儲存空間名稱,your_bucket_domain替換為你自己的七牛雲端儲存的網域。
新增圖片浮水印
在專案中新建一個watermark.php文件,並加入以下內容:
<?php require_once('config.php'); require_once('vendor/autoload.php'); use QiniuAuth; function addWatermark($image_url) { // 水印图片的URL $watermark_url = 'http://your_bucket_domain/watermark.png'; // 水印位置和透明度 $position = 'NorthEast'; $opacity = 80; // 生成带有水印的图片URL $auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY); $signed_url = $auth->privateDownloadUrl($image_url); $signed_watermark_url = "{$signed_url}?watermark/1/image/{$watermark_url}/dissolve/{$opacity}/gravity/{$position}"; return $signed_watermark_url; } // 从upload.php返回的image_url获取待添加水印的图片URL $image_url = $_GET['image_url']; // 调用addWatermark函数,获取带有水印的图片URL $signed_watermark_url = addWatermark($image_url); ?> <!DOCTYPE html> <html> <head> <title>图片水印示例</title> </head> <body> <h1>添加水印后的图片:</h1> <img src="<?php echo $signed_watermark_url; ?>" alt="带有水印的图片"> </body> </html>
這裡需要將your_bucket_domain替換為你自己的七牛雲儲存的域名,watermark.png替換為你自己的浮水印圖片。
四、總結
本文介紹了使用PHP和七牛雲端儲存介面實作圖片浮水印添加的方法。透過上傳圖片到七牛雲端存儲,並利用七牛雲端儲存的圖片處理功能,在HTML中展示帶有浮水印的圖片。希望這篇文章對你有幫助,感謝閱讀!
以上是利用PHP與七牛雲端儲存介面實現圖片浮水印添加的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!