You are here: Error Creating an Image from an Uploaded File « PHP Programming Language « IT news, forums, messages
Error Creating an Image from an Uploaded File

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

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.

 

Navigation:

[Reply to this 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

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