【发布时间】:2014-01-17 09:22:50
【问题描述】:
我想使用 php 和 .htaccess 为目录中的所有图像动态添加水印。以下 php 代码在第 6 行给我一个错误,说“未定义索引:i。”我所有的图像都是 .gif 以及 .png 和 .jpeg。
<?php
$basedir="C:/vhosts/phpcs5/images/product_images";
$watermarkimage="PreviewWatermark.png";
$file=basename($_GET['i']);
$image = $basedir."/".$file;
$watermark = $basedir."/".$watermarkimage;
$im = imagecreatefrompng($watermark);
$ext = substr($image, -3);
if (strtolower($ext) == "gif") {
if (!$im2 = imagecreatefromgif($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "jpg") {
if (!$im2 = imagecreatefromjpeg($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "png") {
if (!$im2 = imagecreatefrompng($image)) {
echo "Error opening $image!"; exit;
}
} else {
die;
}
imagefilledrectangle($im2, 0 , (imagesy($im2))-(imagesy($im)) , imagesx($im2) , imagesy($im2) , imagecolorallocatealpha($im2, 0, 0, 0, 100) ); imagecopy($im2, $im, (imagesx($im2)-(imagesx($im))), (imagesy($im2))-(imagesy($im)), 0, 0, imagesx($im), imagesy($im));
$last_modified = gmdate('D, d M Y H:i:s T', filemtime ($image));
header("Last-Modified: $last_modified");
header("Content-Type: image/jpeg");
imagejpeg($im2,NULL,95);
imagedestroy($im);
imagedestroy($im2);
?>
这是我的 .htaccess 文件
RewriteRule ^([^thumb].*\.[jJ].*)$ phpcs5/images/product_images/w.php?i=$1 [L]
【问题讨论】:
-
如何调用脚本?在第一行添加
print_r($_GET)。你得到了什么?