class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
Hi, I'm not much of a programmer, my programmer (who I can't get a hold of at the moment) used your script (awesome, by the way!) on one of my sites, and I am trying to modify it so it only allows images to be uploaded if their dimensions are 350x280, I've spent two days trying to make this work and would appreciate any help.
The script I use is below, if anyone can make it so it only allows images to be uploaded if they are 350x280 and displays an error message otherwise I would be SO grateful (and more then willing to PayPal them $10 or so if desired).
Your code is quite complex, and if doing a lot of things that the class can do. You can let the class check on the MIME type, on the image dimension, on the validity of the upload, etc... So I have rewritten it, using the class capabilities; it is much simpler.
However, I have not tested it, I just wrote it quickly. But it should be a good starting point, and you should have no difficulties fixing it up if it doesn't work right away.
if ($_POST['formaction'] == 'Submit') {
$max_preview_image_x = 350;
$max_thumbnail_image_x = 250;
$imagepath = '../entry/';
$imagename = $contestid. '-' .date('YmdHis');
ini_set("max_execution_time",0);
$handle = new Upload($_FILES['image']);
if ($handle->uploaded) {
// the following lines restricts the uploaded files to only be pictures
$handle->allowed('image/*');
// the two following lines set the maximum accepted dimensions
$handle->image_max_width = 530px;
$handle->image_max_height = 280px;
// first process the 'L' image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = $max_preview_image_x;
$handle->file_new_name_body = 'L'.$imagename;
$handle->Process($imagepath);
if ($handle->processed) {
// then process the 'S' image
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = $max_thumbnail_image_x;
$handle->file_new_name_body = 'S'.$imagename;
$handle->Process($imagepath);
if ($handle->processed) {
// all good
$GeneralImageName = $imagename.'.'.$handle->file_dst_name_ext;
$timestamp = date('Y-m-d H:i:s');
$query = "INSERT INTO entries (contestid, designerid, entryimage, entryscore, entrytimestamp, entrynew ) VALUES ('$contestid', '$designerloginid', '$GeneralImageName', 0, '$timestamp', 'T')";
mysql_query($query, $link);
mysql_free_result($result);
$actionmessage = "Entry is submitted.";
} else {
$actionmessage = $handle->error;
}
} else {
$actionmessage = $handle->error;
}
} else {
$actionmessage = 'File upload failed. Please retry.' . $handle->error;
}
$handle->clean();
}
If this helped you, of course feel free to donate a little bit ;)Reply
I'm not much of a programmer, my programmer (who I can't get a hold of at the moment) used your script (awesome, by the way!) on one of my sites, and I am trying to modify it so it only allows images to be uploaded if their dimensions are 350x280, I've spent two days trying to make this work and would appreciate any help.
The script I use is below, if anyone can make it so it only allows images to be uploaded if they are 350x280 and displays an error message otherwise I would be SO grateful (and more then willing to PayPal them $10 or so if desired).
Thanks!
So I have rewritten it, using the class capabilities; it is much simpler.
However, I have not tested it, I just wrote it quickly. But it should be a good starting point, and you should have no difficulties fixing it up if it doesn't work right away.
If this helped you, of course feel free to donate a little bit ;)