Jump to content

[SOLVED] GD Image watermarking?


marksie1988

Recommended Posts

i have tried variouse ways to watermark the image but cant seem to get it working, i have the below script which uploads and resizes the image and i am trying to get it to add a watermark after it resizes but everything i try doesnt work, i was wondering if someone could give me help with this as i am strugling to find something that will work with my script on the net or im just looking in the wrong places.

 

<?php 
include("../login/include/session.blc");
$directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']);
$uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'userpics/';
$uploadForm = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'upload.form.blc';
$uploadSuccess = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'upload.success.blc';
$fieldname = 'file';
$errors = array(1 => 'php.ini max file size exceeded', 
                2 => 'html form max file size exceeded', 
                3 => 'file upload was only partial', 
                4 => 'no file was attached');

isset($_POST['submit'])
or error('the upload form is needed', $uploadForm);

($_FILES[$fieldname]['error'] == 0)
or error($errors[$_FILES[$fieldname]['error']], $uploadForm);

@is_uploaded_file($_FILES[$fieldname]['tmp_name'])
or error('not an HTTP upload', $uploadForm);

@getimagesize($_FILES[$fieldname]['tmp_name'])
or error('only image uploads are allowed', $uploadForm);

$temp_filename = $_FILES[$fieldname]['name'];	



                
                $ext = explode('.',$temp_filename);
                $ext = $ext[count($ext)-1];
                $temp_filename = time()."-".$session->username.".".$ext;

$now = time();
while(file_exists($uploadFilename = $uploadsDirectory.$temp_filename))
{

$now++;

}
$username = $session->username;
    mysql_query ("UPDATE users SET pic = '$temp_filename' WHERE username = '$username'");



@move_uploaded_file($_FILES[$fieldname]['tmp_name'], $uploadFilename)
or error('receiving directory insuffiecient permission', $uploadForm);

$uploadFilename = $uploadsDirectory.$temp_filename;
$ext = strtolower($ext); 

		if($ext == "jpg" || $ext == "jpeg" || $ext == "pjpeg") {
          
          $originalImage = imagecreatefromjpeg($uploadFilename); 
          
            } elseif($ext == "png") {        
          
          $originalImage = imagecreatefrompng($uploadFilename); 
          
            } elseif($ext == "gif") {
            
          $originalImage = imagecreatefromgif($uploadFilename); 
            
            }  

list($width, $height) = getimagesize($uploadFilename);
if($width >= $height){
	$ratio = $width/$height;
	$newWidth = 144;
	$newHeight = $newWidth/$ratio;
} else{
	$ratio = $height/$width;
	$newHeight = 120;
	$newWidth = $newHeight/$ratio;
}
$tempImage = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($tempImage, $originalImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagejpeg($tempImage, $uploadFilename, 80);	
imagedestroy($tempImage);

header('Location: ' . $uploadSuccess);

function error($error, $location, $seconds = 5)
{
header("Refresh: $seconds; URL=\"$location\"");
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'."\n".
'"http://www.w3.org/TR/html4/strict.dtd">'."\n\n".
'<html lang="en">'."\n".
'	<head>'."\n".
'		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">'."\n\n".
'		<link rel="stylesheet" type="text/css" href="stylesheet.css">'."\n\n".
'	<title>Upload error</title>'."\n\n".
'	</head>'."\n\n".
'	<body>'."\n\n".
'	<div id="Upload">'."\n\n".
'		<h1>Upload failure</h1>'."\n\n".
'		<p>An error has occured: '."\n\n".
'		<span class="red">' . $error . '...</span>'."\n\n".
'	 	The upload form is reloading</p>'."\n\n".
'	 </div>'."\n\n".
'</html>';
exit;
} 

?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.