Jump to content

Display Jpeg image problem


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';

 

 

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?

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.