Reply to Re: Error Creating an Image from an Uploaded File

Your name:

Reply:


Posted by ctiggerf on 02/05/07 19:58

On Feb 5, 2:44 pm, "ctiggerf" <ctigg...@gmail.com> wrote:
> I was hopeing someone could help me out here. Been stumped on this
> one all day.
>
> This function
> 1. Checks uploaded files.
> 2. Creates two resized images from each (a full size, and a
> thumbnail).
> 3. Returns an array with a bool (false if the upload failed), and an
> error message.
>
> I am having trouble createing a copy of the image from the functions
> imagecreatefrom*
>
> Here is the function:
>
> <?php
> function process_images() {
> //options
> $max_bytes = 65536; // max file size
> $max_h = 425; // maximum hieght for images
> $max_w = 425; // maximum width for images
> $t_h = 125; // max hieght for thumbnails
> $t_w = 50; // max width for thumbnails
> $max = 2; // max number of images
>
> $i = 1;
> while((list($k,$err) = each($_FILES['image']['error'])) and $i<=
> $max) {
> //check for an error
> if($err != UPLOAD_ERR_OK) { return array(false,"There was an
> error uploading Image #$i."); }
> //TODO: Need better error message for errors here
>
> //get file information
> $name = $_FILES['image']['name'][$k];
> $type = $_FILES['image']['type'][$k];
> $temp = $_FILES['image']['tmp_name'][$k];
> $size = $_FILES['image']['size'][$k];
>
> //check that this file is an uploaded file
> if(!is_uploaded_file($temp)) { return array(false,"There was
> an error uploading Image #$i."); }
> //check file size
> if($size > $max_bytes) { return array(false, "Image #$i
> exceeds maximum size"); }
>
> //check type and create a new image based off it
> switch($type) {
> //jpeg
> case "image/pjpeg" :
> case "image/jpeg" :
> case "image/jpg" : $new_img =
> imagecreatefromjpeg($temp); break;
>
> //png
> case "image/x-png" :
> case "image/png" : $new_img = imagecreatefrompng($temp);
> break;
>
> //gif
> case "image/gif" : $new_img = imagecreatefromgif($temp);
> break;
>
> //unrecognized format
> default : return array(false, "Image #$i must be in jpeg,
> gif, or png format.");
> }
>
> #no matter what image I put in here .. it always fails here
> if(!$new_image) { return array(false, "Error Creating Image #
> $i from $temp."); }
>
> //get the original image size
> list($w, $h) = getimagesize($temp);
>
> //caluclate scale percentage
> $perc = min($max_w/$w, $max_h/$h);
> $thumb_p = min($t_w/$w, $t_h/$h);
> //calucalte new dimensions
> $new_w = round($perc * $w);
> $new_h = round($perc * $h);
> $thumb_w = round($thumb_p * $w);
> $thumb_h = round($thumb_p * $h);
>
> //create a new image with those dimensions
> $res_img = imagecreatetruecolor($new_w, $new_h);
> $thumb_img = imagecreatetruecolor($thumb_w, $thumb_h);
> //resize now
> imagecopyresampled($res_img, $new_img, 0,0,0,0, $new_w,
> $new_h, $w,$h);
> imagecopyresampled($thumb_img, $new_img, 0,0,0,0, $thumb_w,
> $thumb_h, $w,$h);
> //save the images
> $new_name = time();
> imagejpeg($res_img, "img/".$new_name.".jpg");
> imagejpeg($thumb_img, "img/thumbs/".$new_name.".jpg");
> //free memory
> imagedestroy($res_img);
> imagedestroy($thumb_img);
> imagedestroy($new_image);
>
> $i++;
> }
>
> return array(true,'');}
>
> ?>
>
> The functions: imagecreatefromjpeg(), imagecreatefrompng(), and
> imagecreatefromgif() all seem to be returning false. Anyone have any
> suggestions?
>
> Thanks,
> Chris F.



I did forget to mention that my php is compiled with GD support
sufficient enough to use the functions and I am using PHP Version
4.3.11 ...

GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация