marksie1988 Posted December 27, 2007 Share Posted December 27, 2007 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; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/83377-solved-gd-image-watermarking/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.