where path is a relative path such as subdirectory/image.jpg $imagesource = $_GET['file']; $watermarkPath = "images/watermark.gif"; $filetype = substr($imagesource,strlen($imagesource)-4,4); $filetype = strtolower($filetype); $watermarkType = substr($watermarkPath,strlen($watermarkPath)-4,4); $watermarkType = strtolower($watermarkType); $image = ''; if($filetype == ".gif") { $image = @imagecreatefromgif($imagesource); if( !$image) { $image = @imagecreatefromjpeg($imagesource); } } else { if($filetype == ".jpg" || $filetype == "jpeg") { $image = @imagecreatefromjpeg($imagesource); if( !$image ) { $image = @imagecreatefromgif($imagesource); } } else { if($filetype == ".png") { $image = @imagecreatefrompng($imagesource); } else { die(); } } } if(!$image) { die(); } $watermark = ''; if($watermarkType == ".gif") { $watermark = @imagecreatefromgif($watermarkPath); } else { if($watermarkType == ".png") { $watermark = @imagecreatefrompng($watermarkPath); } else { die(); } } if(!$watermark) { die(); } $watermark = ''; if($watermarkType == ".gif") { $watermark = @imagecreatefromgif($watermarkPath); } else { if($watermarkType == ".png") { $watermark = @imagecreatefrompng($watermarkPath); } else { die(); } } if(!$watermark) { die(); } $imagewidth = imagesx($image); $imageheight = imagesy($image); $watermarkwidth = imagesx($watermark); $watermarkheight = imagesy($watermark); $startwidth = ($imagewidth - $watermarkwidth); $startheight = ($imageheight - $watermarkheight); imagecopy($image, $watermark, $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight); header('Content-Type: image/jpeg'); imagejpeg($image); imagedestroy($image); imagedestroy($watermark); ?>