返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >nginx怎么通过PHP代理给图片加水印(详细代码)
  • 912
分享到

nginx怎么通过PHP代理给图片加水印(详细代码)

php 2022-06-14 00:06:24 912人浏览 泡泡鱼
摘要

本篇文章给大家带来了关于Nginx怎么通过PHP代理给图片添加水印的相关知识,以及应该怎么调用的相关问题,通过代码示例来搞定,下面一起来看一下,希望对大家有帮助。(推荐教程:nginx教程、php视频教程)nginx 配置代理locatio

本篇文章给大家带来了关于Nginx怎么通过PHP代理给图片添加水印的相关知识,以及应该怎么调用的相关问题,通过代码示例来搞定,下面一起来看一下,希望对大家有帮助。

(推荐教程:nginx教程、php视频教程)

nginx 配置代理

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

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

php 水印类


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 水平好的,可以试着用 http_image_filter_module 模块来加水印, 我这也是无奈之举

(推荐教程:nginx教程、PHP视频教程)

以上就是nginx怎么通过PHP代理给图片加水印(详细代码)的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: nginx怎么通过PHP代理给图片加水印(详细代码)

本文链接: https://lsjlt.com/news/32909.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • nginx怎么通过PHP代理给图片加水印(详细代码)
    本篇文章给大家带来了关于nginx怎么通过PHP代理给图片添加水印的相关知识,以及应该怎么调用的相关问题,通过代码示例来搞定,下面一起来看一下,希望对大家有帮助。(推荐教程:nginx教程、PHP视频教程)nginx 配置代理locatio...
    99+
    2022-06-14
    php
  • nginx如何通过PHP代理给图片加水印
    本篇内容主要讲解“nginx如何通过PHP代理给图片加水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx如何通过PHP代理给图片加水印”吧!nginx 配置代理location&nbs...
    99+
    2023-07-02
  • PHP中怎么给图片加水印
    本篇文章为大家展示了PHP中怎么给图片加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP给图片加水印的具体代码如下:<php     ...
    99+
    2023-06-17
  • C#实现批量给图片添加水印的示例代码
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() ...
    99+
    2022-12-09
    C#批量图片添加水印 C#图片添加水印 C# 添加水印
  • 通过Python的filestools库给图片添加全图水印的示例详解
    目录前言一、filestools库简介二、安装filestools三、查看filestools版本四、图片添加全图水印1.引入库2.添加水印五、参数调整对比1.水印颜色1.1通过名称...
    99+
    2023-05-17
    Python添加全图水印 Python的filestools库
  • PHP怎么实现给图片添加文字水印
    本篇内容主要讲解“PHP怎么实现给图片添加文字水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现给图片添加文字水印”吧!PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图...
    99+
    2023-06-04
  • Android 给图片加上水印的示例代码(支持logo+文字)
    本文介绍了Android 给图片加上水印的示例代码(支持logo+文字),分享给大家,具体如下:现在我们想要往图片上打上水印,该水印应符合这样的需求的: 支持logo+文字; 文字信息支持多行展示; 用户可以选择水印在图片上的生成位置...
    99+
    2023-05-30
    android 图片 水印
  • 怎么用1行Python代码实现去除图片水印
    这篇“怎么用1行Python代码实现去除图片水印”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用1行Python代码实现...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作