SmokeyTheBear |
01-24-2006 11:36 PM |
if someone wants to modify my htaccess i would be most appreciative and im sure others would find it a usefull resource..
THE FOLLOWING is a script/htaccess to add a watermark to all your images.. It would be nice to modify it so it only watermarked the images when they are hotlinked..
this is what the htaccess should look like
Code:
AddHandler watermarked .jpg
AddHandler watermarked .jpeg
AddHandler watermarked .gif
AddHandler watermarked .png
Action watermarked http://www.yoursite.com/watermarkscript.php
then the watermarkscript.php should look like this
Code:
<?php
$watermark = "watermark.png";
$image = $_SERVER["PATH_TRANSLATED"];
if (empty($image)) die();
if (!file_exists($image)) {
header("404 Not Found");
echo "File Not Found."; die();
}
$outputType = getFileType($image);
watermark($image, $watermark, $outputType);
/**
Outputs the image $source with $watermark in the lower right corner.
@param $source the source image
@param $watermark the watermark to apply
@param $outputType the type to output as (png, jpg, gif, etc.)
defaults to the image type of $source if left blank
*/
function watermark($source, $watermark, $outputType="") {
$sourceType = getFileType($source);
$watermarkType = getFileType($watermark);
if (empty($outputType)) $outputType = $sourceType;
header("Content-type:image/$outputType");
// Derive function names
$createSource = "ImageCreateFrom".strtoupper($sourceType);
$showImage = "Image".strtoupper($outputType);
$createWatermark = "ImageCreateFrom".strtoupper($watermarkType);
// Load original and watermark to memory
$output = $createSource($source);
$logo = $createWatermark($watermark);
ImageAlphaBlending($output, true);
// Find proper coordinates so watermark will be in the lower right corner
$x = ImageSX($output) - ImageSX($logo);
$y = ImageSY($output) - ImageSY($logo);
// Display
ImageCopy($output, $logo, $x, $y, 0, 0, ImageSX($logo), ImageSY($logo));
$showImage($output);
// Purge
ImageDestroy($output);
ImageDestroy($logo);
}
function getFileType($string) {
$type = strtolower(eregi_replace("^(.*)\.","",$string));
if ($type hahahaha "jpg") $type = "jpeg";
return $type;
}
( hahaha should read = = )
then just place a watermark.png that you want on every picture in the same directory as the watermarkscript.php
|