Simple Watermarking Script in PHP

October 12, 2008 · Filed Under PHP/MySQL/HTML/CSS 

Recently i needed to modify some script and add watermark functionality. I googled and found few solutions, but this was most easiest for me to implement. Here is the simple php script for watermarking images. You will need to create watermark.gif transparent image in photoshop.

<br />
<?php<br />
// this script creates a watermarked image from an image file - can be a .jpg .gif or .png file<br />
// where watermark.gif is a mostly transparent gif image with the watermark - goes in the same directory as this script<br />
// where this script is named watermark.php<br />
// call this script with an image tag<br />
// <img src="watermark.php?path=imagepath"> where path is a relative path such as subdirectory/image.jpg<br />
$imagesource =  $_GET['path'];<br />
$watermarkPath = $_GET['watermark'];<br />
$filetype = substr($imagesource,strlen($imagesource)-4,4);<br />
$filetype = strtolower($filetype);<br />
$watermarkType = substr($watermarkPath,strlen($watermarkPath)-4,4);<br />
$watermarkType = strtolower($watermarkType);</p>
<p>    if($filetype == ".gif")<br />
$image = @imagecreatefromgif($imagesource);<br />
else<br />
if($filetype == ".jpg" || $filetype == "jpeg")<br />
$image = @imagecreatefromjpeg($imagesource);<br />
else<br />
if($filetype == ".png")<br />
$image = @imagecreatefrompng($imagesource);<br />
else<br />
die();  </p>
<p>    if(!$image)<br />
die();</p>
<p>    if($watermarkType == ".gif")<br />
$watermark = @imagecreatefromgif($watermarkPath);<br />
else<br />
if($watermarkType == ".png")<br />
$watermark = @imagecreatefrompng($watermarkPath);<br />
else<br />
die();</p>
<p>    if(!$watermark)<br />
die();</p>
<p>    $imagewidth = imagesx($image);<br />
$imageheight = imagesy($image);<br />
$watermarkwidth =  imagesx($watermark);<br />
$watermarkheight =  imagesy($watermark);<br />
$startwidth = (($imagewidth - $watermarkwidth)/2);<br />
$startheight = (($imageheight - $watermarkheight)/2);<br />
imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);<br />
imagejpeg($image);<br />
imagedestroy($image);<br />
imagedestroy($watermark);<br />
?><br />
Social bookmarking:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Live
  • StumbleUpon

No related posts.

Comments

Leave a Reply