本篇内容主要讲解“Nginx如何通过PHP代理给图片加水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx如何通过php代理给图片加水印”吧!nginx 配置代理location&nbs
本篇内容主要讲解“Nginx如何通过PHP代理给图片加水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx如何通过php代理给图片加水印”吧!
location ~ /image/.*\.(gif|jpg|jpeg|png)$ { proxy_pass Http://127.0.0.1:8888/test/watermark?url=$request_uri;}
/img/
匹配要代理的目录前缀,$request_uri
参数为访问的图片路径。
class Watermark{ 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); } 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 : //其他格式 } } 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: //其他格式 } }}
public function watermark(){ //图片路径前缀 $image = '/data/img/' . input('url'); self::imageMarking($image,'watermark.png'); exit;}
到此,相信大家对“nginx如何通过PHP代理给图片加水印”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
--结束END--
本文标题: nginx如何通过PHP代理给图片加水印
本文链接: https://lsjlt.com/news/340516.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0