Re: Upload image works fine unless image is edited first



Thanks Erwin, I feel I'm a little closer.

Deployed your trick, and below is what I get for edited files:

Array
(
[imagefile] => Array
(
[name] => DSC00064.JPG
[type] =>
[tmp_name] =>
[error] => 2
[size] => 0
)

)

This is what I get for un-edited files:

Array
(
[imagefile] => Array
(
[name] => 2_site_top.jpg
[type] => image/jpeg
[tmp_name] => C:\WINDOWS\TEMP\php59.tmp
[error] => 0
[size] => 32448
)

)


On Sep 5, 10:14 am, Erwin Moller
<Since_humans_read_this_I_am_spammed_too_m...@xxxxxxxxxxxxxxxx> wrote:
xx75vulcan wrote:
Hi,

I've got a PHP Upload Form that works great, unless that is, the image
your uploading has been modified through a photo editing software.

Example: if I upload the image straight from a camera or other, it
uploads fine. However, If I want to rotate the image, or resize it
with photoshop or simmilar, making sure to save it again as a jpg, the
PHP upload won't upload the image.

It's like editing the image somehow changes it's mime type or
something?!

Hi Vulcan,

Maybe.

Any ideas?

I ALWAYS start debugging such issues with:

echo "<pre>";
print_r($_FILES);
echo "</pre>";
exit;

Then compare the output of your uneditted and editted version.
Do you see any differences?

That will probably give you a hint.

And do NOT rely too much on mimetype.
from php.net:

$_FILES['userfile']['type']
The mime type of the file, if the browser provided this
information. An example would be "image/gif". This mime type is however
not checked on the PHP side and therefore don't take its value for granted.

Hope that helps.

Regards,
Erwin Moller

Here's my upload script:

<?php
if($_POST["upload"]) //Check to see if submit was clicked
{
// Get the details of "imagefile"
$filename = $_FILES['imagefile']['name'];
$temporary_name = $_FILES['imagefile']['tmp_name'];
$mimetype = $_FILES['imagefile']['type'];
$filesize = $_FILES['imagefile']['size'];

//Open the image using the imagecreatefrom..() command based on the
MIME type.
switch($mimetype) {
case "image/jpg":
case "image/jpeg":
case "image/pjpeg":
$i = imagecreatefromjpeg($temporary_name);
break;
case "image/gif":
$i = imagecreatefromgif($temporary_name);
break;
case "image/png":
$i = imagecreatefrompng($temporary_name);
break;
}

//Delete the uploaded file
unlink($temporary_name);

//Specify the size of the thumbnail
$dest_x = 350;
$dest_y = 350;

//Is the original bigger than the thumbnail dimensions?
if (imagesx($i) > $dest_x or imagesy($i) > $dest_y) {
//Is the width of the original bigger than the height?
if (imagesx($i) >= imagesy($i)) {
$thumb_x = $dest_x;
$thumb_y = imagesy($i)*($dest_x/imagesx($i));
} else {
$thumb_x = imagesx($i)*($dest_y/imagesy($i));
$thumb_y = $dest_y;
}
} else {
//Using the original dimensions
$thumb_x = imagesx($i);
$thumb_y = imagesy($i);
}

//Generate a new image at the size of the thumbnail
$thumb = imagecreatetruecolor($thumb_x,$thumb_y);

//Copy the original image data to it using resampling
imagecopyresampled($thumb, $i ,0, 0, 0, 0, $thumb_x, $thumb_y,
imagesx($i), imagesy($i));

//Save the thumbnail
imagejpeg($thumb, "../images/$filename", 80);

//Display FileName
Print "Value for Image field: $filename";
$added =true;
}
?>

<html>
<form action="upload.php" method="POST" enctype="multipart/
form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="200000">
<input type="file" name="imagefile">
<input type="submit" name="upload" value="Upload Image">
</form>
</html>


.



Relevant Pages

  • Re: Upload image works fine unless image is edited first
    ... I didn't realize that editing a picture, ... PHP upload won't upload the image. ... The mime type of the file, ... //Is the width of the original bigger than the height? ...
    (comp.lang.php)
  • Re: Upload image works fine unless image is edited first
    ... I've got a PHP Upload Form that works great, unless that is, the image ... PHP upload won't upload the image. ... //Is the original bigger than the thumbnail dimensions? ...
    (comp.lang.php)
  • Re: Upload image works fine unless image is edited first
    ... I've got a PHP Upload Form that works great, unless that is, the image ... PHP upload won't upload the image. ... //Is the original bigger than the thumbnail dimensions? ...
    (comp.lang.php)
  • Upload image works fine unless image is edited first
    ... I've got a PHP Upload Form that works great, unless that is, the image ... PHP upload won't upload the image. ... //Is the original bigger than the thumbnail dimensions? ...
    (comp.lang.php)
  • Re: Mime type?
    ... MIME type should not affect the upload process. ... iis ftp log file? ... > IIS server, the problem is they are using McIntosh/Apple computer and they ...
    (microsoft.public.inetserver.iis)