Jump to content

Display Jpeg image problem


Go to solution Solved by thefall,

Recommended Posts

Hi.

 

I have a problem where when i try to display the uploaded JPEG file, the browser would only dispay the placeholder for an image . I think the problem is within the 3rd IF statement.

 

Please help me thanks.

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST') {


if(isset($_FILES['photo'])
&& is_uploaded_file($_FILES['photo']['tmp_name'])
&& $_FILES['photo']['error']==UPLOAD_ERR_OK) {


		if($_FILES['photo']['type']=='image/jpeg') {
		
		echo 'asdsad';
		
			$tmp_img = $_FILES['photo']['tmp_name'];
			
			$image = imagecreatefromjpeg($tmp_img);
			
			header('Content-Type: image/jpeg');
			
			imagejpeg($image, NULL, 90);
			
			imagedestroy($image);

			
			
		} else {
		echo "Uploaded file was not a JPG image.";
		}
} else {
echo "No photo uploaded!";
}}

else {
echo "
<form action='test.php' method='post'
enctype='multipart/form-data'>
<label for='photo'>User Photo:</label>
	<input type='file' name='photo' />
	<input type='submit' value='Upload a Photo' />
</form>

";} ?>
Link to comment
https://forums.phpfreaks.com/topic/287742-display-jpeg-image-problem/
Share on other sites

@Ch0cu3r

 

I tried removing the header earlier and it would show some weird characters. I've read somewhere that the header is necessary to remove the weird characters.

 

 

I ran the code on firefox and the message "The image http://localhost/test/test.php cannot be displayed because of errors" appeared.

 

 

 tried removing the header earlier and it would show some weird characters

The characters is the binary of the image. I was aware this was going to happen. If you look closely before the weird characters is there any error messages (to make it clearer you can also comment out imagejpeg() too)?

@Ch0cu3r

 

I converted the imagejpeg() and header lines into comments. 

 

There were no error messages on google chrome and firefox.

 

 

What I've noticed is that the line below would be displayed if you remove the imagejpeg() and header lines, whereas if you include the imagejpeg() and header lines, the line below wouldn't be displayed .I inserted the line below in the code, just to check where it would stop being displayed.

echo 'asdsad';
Edited by thefall

 

 

What I've noticed is that the line below would be displayed if you remove the imagejpeg() and header lines, whereas if you include the imagejpeg() and header lines, the line below wouldn't be displayed

Doing that will corrupt the image. I only got you to comment out those lines so you can check for errors.

 

Does uncomentting the header/imagejpeg lines and removing the echo before those display the image now?

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.