| PHP, MySQL General PHP questions. Or go to our PHPsuexec Forum >> |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread |
|
|
#1 (permalink) | |
|
Registered User
Seasoned Poster
Joined in Dec 2003
Lives in Clearwater, Florida
Hosted on Pixel
45 posts
Gave thanks: 0
Thanked 0 times
|
help with watermark wrapper
Hello smart people,
Since the upgrade to PHP5 the watermark wrapper is not working for me anymore. When I have the .htaccess in the picture folder the pictures are teh broke. I need some help to resolve this. Here is the .htaccess Code:
AddHandler watermarked .jpg AddHandler watermarked .jpeg AddHandler watermarked .gif AddHandler watermarked .png Action watermarked /watermark/wrapper.php 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();
}
$host = ( ! isset($_SERVER['HTTP_HOST'])) ? '' : $_SERVER['HTTP_HOST'];
$referer = $_SERVER['HTTP_REFERER'];
$outputType = getFileType($image);
watermark($image, $watermark, $outputType, $host, $referer);
/**
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="", $host, $referer) {
$sourceType = getFileType($source);
$watermarkType = getFileType($watermark);
if (empty($outputType)) $outputType = $sourceType;
if ($outputType == "gif") $outputType = "png"; // Okay to remove after July 2004
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
if ( ! isset($referer) OR ! stristr($referer, $host))
{ImageCopy($output, $logo, $x, $y, 0, 0, ImageSX($logo), ImageSY($logo)); $showImage($output);} else {$showImage($output);}
// Purge
ImageDestroy($output);
ImageDestroy($logo);
}
function getFileType($string) {
$type = strtolower(eregi_replace("^(.*)\.","",$string));
if ($type == "jpg") $type = "jpeg";
return $type;
}
I do have an error log in the watermark folder Quote:
Thank your for your input! ... ![]() |
|
|
|
|