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; } ?> Link to comment https://forums.phpfreaks.com/topic/83377-solved-gd-image-watermarking/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.