如何通过伪静态方式 访问图片,图片自动通过php处理添加水印在展示出来
时间: 2024-02-22 19:56:01 浏览: 28
要通过伪静态方式访问图片,需要先在 web 服务器上配置伪静态规则,以便将请求重定向到 PHP 脚本中。在 Apache 服务器上,可以使用 `.htaccess` 文件来配置伪静态规则。下面是一个示例规则,演示如何将请求重定向到 `pic.php` 脚本中:
```
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^image/(.*\.(jpg|jpeg|png|gif))$ pic.php?image=$1 [L]
```
这个规则将匹配 `image` 目录下的所有 `.jpg`、`.jpeg`、`.png` 和 `.gif` 文件,并将请求重定向到 `pic.php` 脚本中,同时将图片文件名作为参数传递给脚本。
在 `pic.php` 脚本中,可以使用 GD 库来处理图片,并添加水印。下面是一个示例代码,演示如何给图片添加水印并输出到浏览器:
```php
<?php
// 获取图片路径
$imagePath = 'image/' . $_GET['image'];
// 加载图片
$image = imagecreatefromjpeg($imagePath);
// 设置水印文字
$watermarkText = 'Watermark';
// 设置字体和字体大小
$font = 'arial.ttf';
$fontSize = 20;
// 设置水印文字的颜色
$color = imagecolorallocate($image, 255, 255, 255);
// 在图片上添加水印文字
imagettftext($image, $fontSize, 0, 10, 50, $color, $font, $watermarkText);
// 输出图片
header('Content-type: image/jpeg');
imagejpeg($image);
// 释放内存
imagedestroy($image);
```
这个代码会根据传递的图片路径加载图片,并在图片上添加水印文字。处理后的图片将输出到浏览器。你可以根据需要进行调整。
需要注意的是,为了能够处理图片并添加水印,这个代码需要 `GD` 扩展的支持,确保在运行之前已经安装并启用了该扩展。