Wie fügt Nginx über einen PHP-Proxy Wasserzeichen zu Bildern hinzu (detaillierter Code)?

WBOY
Freigeben: 2023-03-16 10:58:02
nach vorne
2160 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über das Hinzufügen von Wasserzeichen zu Bildern überPHPProxy sowie verwandte Probleme beim Aufrufen. Lassen Sie uns gemeinsam einen Blick darauf werfen. Ich hoffe, es wird für alle hilfreich sein.

Wie fügt Nginx über einen PHP-Proxy Wasserzeichen zu Bildern hinzu (detaillierter Code)?(Empfohlene Tutorials:

nginx-Tutorial

,PHP-Video-Tutorial)nginx-Konfigurations-Proxy

location ~ /image/.*\.(gif|jpg|jpeg|png)$ { proxy_pass http://127.0.0.1:8888/test/watermark?url=$request_uri; }
Nach dem Login kopieren

/img/Passen Sie das Verzeichnispräfix an, das als Proxy verwendet werden soll,$ request_uriDer Parameter ist der Bildpfad, auf den zugegriffen werden soll.

php-Wasserzeichenklasse/img/匹配要代理的目录前缀,$request_uri参数为访问的图片路径。

php 水印类

/** 水印类 * Class Watermark * @package app\test */ class Watermark { /** 合成图片水印 * @param string $dstImage 原图片 * @param string $waterImg 水印图 */ public static function imageMarking($dstImage, $waterImg){ //获取图片信息 $dstInfo = getimagesize($dstImage); $waterInfo = getimagesize($waterImg); //创建图像 $dstImgObj = self::imageCreateFrom($dstImage, $dstInfo[2]); $waterImgObj = self::imageCreateFrom($waterImg, $waterInfo[2]); //合成水印 imagecopyresized($dstImgObj,$waterImgObj,0, 0,0,0,$dstInfo[0], $dstInfo[1],$waterInfo[0],$waterInfo[1]); //输出图片 self::imageOut($dstImgObj,$waterInfo[2]); //销毁资源对象 imagedestroy($dstImgObj); imagedestroy($waterImgObj); } /** 生成图片对象 * @param string $imgFile 图片路径 * @param string $type 图片类型 * @return false|\GdImage|resource */ private static function imageCreateFrom($imgFile, $type) { switch ($type) { case IMAGETYPE_GIF: return imagecreatefromgif($imgFile); case IMAGETYPE_JPEG: return imagecreatefromjpeg($imgFile); case IMAGETYPE_PNG: return imagecreatefrompng($imgFile); default : //其他格式 } } /** 输出图片 * @param string $imageObj * @param string $type */ private static function imageOut($imageObj,$type){ switch ($type) { case 1: header("Content-Type: image/gif"); imagegif($imageObj); break; case 2: header("Content-Type: image/jpeg"); imagejpeg($imageObj); break; case 3: header("Content-Type: image/png"); imagepng($imageObj); break; default: //其他格式 } } }
Nach dem Login kopieren

调用示例

public function watermark(){ //图片路径前缀 $image = '/data/img/' . input('url'); self::imageMarking($image,'watermark.png'); exit; }
Nach dem Login kopieren

nginx水平好的,可以试着用http_image_filter_modulerrreee

Aufrufbeispiel

rrreeenginxWenn Sie gut darin sind, können Sie versuchen, das Modulhttp_image_filter_modulezu verwenden, um Wasserzeichen hinzuzufügen ein hilfloser Schachzug für mich(Empfohlene Tutorials:Nginx-Tutorial

, PHP-Video-Tutorial)

Das obige ist der detaillierte Inhalt vonWie fügt Nginx über einen PHP-Proxy Wasserzeichen zu Bildern hinzu (detaillierter Code)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!