embed logo on upload image in php | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | |
Hey All,
I want to embed logo while upload an image. I mean when i upload an image, i want to embed the logo of the website in that uploaded image.
Kindly help me out to sort out my problems and as i always get a reply from this great community so i believe again i will get the solution of my problem here.
kind regards,
Mohsin Rafique
|  | Moderator | | Join Date: Aug 2008 Location: Leipzig, Germany
Posts: 3,664
| | | re: embed logo on upload image in php
check out imagecopymerge(). especially the comments.
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
Thank you very much
I will study n try to do that. As soon as i will do i will be back with that solution
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
Hey Dormilich,
I found a function from there which is exactly up to my requirement but in my case it is not working and show dirty characters after creating image.
Here is my code i am using for uploading and for watermarking -
$file_extension=strtolower(get_ext($_FILES['photo_1']['name']));
-
$photo_1="images/cars/".time().'_1.'.$file_extension;
-
move_uploaded_file($_FILES['photo_1']['tmp_name'],$photo_1);
-
$imageproduct = new Thumbnail($photo_1, 640, 480, 100);
-
$imageproduct->save($photo_1);
-
$watermarklogo="images/logo_png.png";
-
watermark($photo_1,$watermarklogo);
-
And this is the function i got from there which comes up to my requirement -
function watermark($sourcefile, $watermarkfile) {
-
#
-
# $sourcefile = Filename of the picture to be watermarked.
-
# $watermarkfile = Filename of the 24-bit PNG watermark file.
-
#
-
-
//Get the resource ids of the pictures
-
$watermarkfile_id = imagecreatefrompng($watermarkfile);
-
-
imagealphablending($watermarkfile_id, false);
-
imageSaveAlpha($watermarkfile_id, true);
-
-
$fileType = strtolower(substr($sourcefile, strlen($sourcefile)-3));
-
-
switch($fileType) {
-
case('gif'):
-
$sourcefile_id = imagecreatefromgif($sourcefile);
-
break;
-
case('png'):
-
$sourcefile_id = imagecreatefrompng($sourcefile);
-
break;
-
default:
-
$sourcefile_id = imagecreatefromjpeg($sourcefile);
-
}
-
//Get the sizes of both pix
-
$sourcefile_width=imagesx($sourcefile_id);
-
$sourcefile_height=imagesy($sourcefile_id);
-
$watermarkfile_width=imagesx($watermarkfile_id);
-
$watermarkfile_height=imagesy($watermarkfile_id);
-
-
$dest_x = ( $sourcefile_width / 2 ) - ( $watermarkfile_width / 2 );
-
$dest_y = ( $sourcefile_height / 2 ) - ( $watermarkfile_height / 2 );
-
-
// if a gif, we have to upsample it to a truecolor image
-
if($fileType == 'gif') {
-
// create an empty truecolor container
-
$tempimage = imagecreatetruecolor($sourcefile_width, $sourcefile_height);
-
// copy the 8-bit gif into the truecolor image
-
imagecopy($tempimage, $sourcefile_id, 0, 0, 0, 0, $sourcefile_width, $sourcefile_height);
-
// copy the source_id int
-
$sourcefile_id = $tempimage;
-
}
-
imagecopy($sourcefile_id, $watermarkfile_id, $dest_x, $dest_y, 0, 0, $watermarkfile_width, $watermarkfile_height);
-
//Create a jpeg out of the modified picture
-
switch($fileType) {
-
// remember we don't need gif any more, so we use only png or jpeg.
-
// See the upsaple code immediately above to see how we handle gifs
-
case('png'):
-
header("Content-type: image/png");
-
imagepng ($sourcefile_id);
-
break;
-
default:
-
header("Content-type: image/jpg");
-
imagejpeg ($sourcefile_id);
-
}
-
imagedestroy($sourcefile_id);
-
imagedestroy($watermarkfile_id);
-
}
-
kindly help me out to sort out my problem pleaseeeee
|  | Moderator | | Join Date: Aug 2008 Location: Leipzig, Germany
Posts: 3,664
| | | re: embed logo on upload image in php
any errors, warnings, notices? have you tried with bare/sample images (without uploading) first? did you check the function return values?
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
Yeh it post and give warning message.
And also show dirty characters in it.
I am attaching the image of it
|  | Moderator | | Join Date: Aug 2008 Location: Leipzig, Germany
Posts: 3,664
| | | re: embed logo on upload image in php
what does the error message say? (too small to read). the error message directly involves the "dirty characters", once you clear the error it should be ok.
EDIT: the "dirty characters" are actually your picture… expressed as string
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
It is saying that cannot modify header information Quote:
Warning: Cannot modify header information - headers already sent by (output started at E:\server\htdocs\themosaicdesigns\site\projects\ca rsbay\includes\thumbnail.class.php:423) in E:\server\htdocs\themosaicdesigns\site\projects\ca rsbay\edit-photos.php on line 272
|  | Moderator | | Join Date: Aug 2008 Location: Leipzig, Germany
Posts: 3,664
| | | re: embed logo on upload image in php
what does Quote:
output started at E:\server\htdocs\themosaicdesigns\site\projects\ca rsbay\includes\thumbnail.class.php:423
refer to?
|  | Moderator | | Join Date: Jun 2007 Location: York, England, with wolves.
Posts: 4,949
| | | re: embed logo on upload image in php Quote:
Originally Posted by neovantage It is saying that cannot modify header information On line 423 of E:\server\htdocs\themosaicdesigns\site\projects\ca rsbay\includes\thumbnail.class.php, you have sent output to the browser. You cannot do that if you intend to modify the headers later.
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
Basically thumbnail.class.php resize my uploaded image.
What i want actually is
i want to upload pictures. Pictures may be large in size so i have to resize them as the client requirement. Now he want that When an image upload then it must be resize and also this process embed his website logo tu the uploaded image and that is what i am trying to do.
i am using thumbnail.class which resize the uploaded image and save it to the required path.
If i even exclude it even then it shows n give me dirty characters and do not embed logo into the uploaded image
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
So what should i do now.
As i need to upload the image, embed logo into uploaded image, then i need to resize the image and then need to save it
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
Sir i want that when i upload an image it get that image.
1. Upload it to the server
2. Embed logo into it
3. Resize it too.
These 3 things i want to do
Awaiting of your guideline to do these step by step
|  | Moderator | | Join Date: Aug 2008 Location: Leipzig, Germany
Posts: 3,664
| | | re: embed logo on upload image in php
first, check what's causing the output in thumbnail.class.php on line 423.
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
i am attaching the file thumbnail.class.php file as in line 423 there is nothing in it
|  | Moderator | | Join Date: Aug 2008 Location: Leipzig, Germany
Posts: 3,664
| | | re: embed logo on upload image in php
you have 2 line breaks after the closing "?>", that counts as output–remove them.
you should use "<?php" as start tag, not every system allows short tags.
|  | Moderator | | Join Date: Jun 2007 Location: York, England, with wolves.
Posts: 4,949
| | | re: embed logo on upload image in php Quote:
Originally Posted by Dormilich you have 2 line breaks after the closing "?>", that counts as output–remove them.
you should use "<?php" as start tag, not every system allows short tags. To prevent accidental output after the closing PHP tag, you can just omit it all together. This is a common practice, and is, I believe, enforced in the Zend Coding Standard.
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
But my problem is still there.
I still unable to do these 3 tasks simultaneously
1. Upload it to the server
2. Embed logo into it
3. Resize it too.
So what should i do now? i am still there from where i start
| | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
Hey Dormilich and Markus,
Hope you are best in health and life. So please guide me what should i do now so that i can upload images, embed logos and resize them simultaneously.
Awaiting of your reply
Mohsin Rafique
|  | Familiar Sight | | Join Date: Mar 2008 Location: Southern California
Posts: 221
| | | re: embed logo on upload image in php Quote:
Originally Posted by neovantage It is saying that cannot modify header information this is a long thread. i didn't see that you ever cleared this error and it might be the source of your problem. i'm guessing the offending line is trying to send the file type information to the header. you can't do this if you've already sent information to the browser (eg using the function 'echo');
there is a workaround for delaying that information from being sent immediately and still modify the header. try putting ob_start(); on the first line of your php code and ob_get_clean(); on the last line of your php code. you can also read about output buffering here: http://us2.php.net/manual/en/intro.outcontrol.php | | Familiar Sight | | Join Date: Aug 2008
Posts: 175
| | | re: embed logo on upload image in php
my script is uploading picture now and also resizing them. But when i embed logo into the picture it output the embedded log picture into the same window. But how can i overwrite that new picture on the existing picture on the directory path.
Please find the attached images of the output.
|  | Familiar Sight | | Join Date: Mar 2008 Location: Southern California
Posts: 221
| | | re: embed logo on upload image in php
i think this might help you: http://koivi.com/php-gd-image-watermark/
i haven't looked at the available source code but i believe what you need is there. if not, google "php gd watermark"
|  | | | | /bytes/about
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 226,537 network members.
|