Smart Multi-Uploader and Thumbnail Creator from GIF/ JPEG/ PNG with PHP
This is a multiple image uploader with flexible thumbnail generator. You can set how many images you want to upload at once. This script creates thumbnails automagically from GIF / JPEG and PGN images. You can also disable thumbnails completely. You can change easily path/to/upload and thumbnails max width and height. Script dedect automagically which dimestion to use for resize. It checks image-type and max-image-size. Comments and featurequest are welcome!
<?php
/**
* Smart Image Uploader by @cafewebmaster.com
* Free for private use
* Please support us with donations or backlinks
*/
$upload_image_limit = 5; // How many images you want to upload at once?
$upload_dir = ""; // default script location, use relative or absolute path
$enable_thumbnails = 1 ; // set 0 to disable thumbnail creation
##################### THUMBNAIL CREATER FROM GIF / JPG / PNG
function make_thumbnails($updir, $img){
$thumbnail_width = 80;
$thumbnail_height = 60;
$thumb_preword = "thumb_";
$arr_image_details = GetImageSize("$updir"."$img");
$original_width = $arr_image_details[0];
$original_height = $arr_image_details[1];
if( $original_width > $original_height ){
$new_width = $thumbnail_width;
$new_height = intval($original_height*$new_width/$original_width);
} else {
$new_height = $thumbnail_height;
$new_width = intval($original_width*$new_height/$original_height);
}
$dest_x = intval(($thumbnail_width - $new_width) / 2);
$dest_y = intval(($thumbnail_height - $new_height) / 2);
if($arr_image_details[2]==1) { $imgt = "ImageGIF"; $imgcreatefrom = "ImageCreateFromGIF"; }
if($arr_image_details[2]==2) { $imgt = "ImageJPEG"; $imgcreatefrom = "ImageCreateFromJPEG"; }
if($arr_image_details[2]==3) { $imgt = "ImagePNG"; $imgcreatefrom = "ImageCreateFromPNG"; }
if( $imgt ) {
$old_image = $imgcreatefrom("$updir"."$img");
$new_image = imagecreatetruecolor($thumbnail_width, $thumbnail_height);
imageCopyResized($new_image,$old_image,$dest_x,
$dest_y,0,0,$new_width,$new_height,$original_width,$original_height);
$imgt($new_image,"$updir"."$thumb_preword"."$img");
}
}
################################# UPLOAD IMAGES
foreach($_FILES as $k => $v){
$img_type = "";
### $htmo .= "$k => $v"; ### print_r($_FILES);
if( !$_FILES[$k]['error'] && preg_match("#^image/#i", $_FILES[$k]['type']) && $_FILES[$k]['size'] < 1000000){
$img_type = ($_FILES[$k]['type'] == "image/jpeg") ? ".jpg" : $img_type ;
$img_type = ($_FILES[$k]['type'] == "image/gif") ? ".gif" : $img_type ;
$img_type = ($_FILES[$k]['type'] == "image/png") ? ".png" : $img_type ;
$img_rname = $_FILES[$k]['name'];
$img_path = $upload_dir.$img_rname;
copy( $_FILES[$k]['tmp_name'], $img_path );
if($enable_thumbnails) make_thumbnails($upload_dir, $img_rname);
$feedback .= "Image and thumbnail created $img_rname
";
}
}
############################### HTML FORM
while($i++ < $upload_image_limit){
$form_img .= 'Image '.$i.':
';
}
$htmo .= '
'.$feedback.'
'.$form_img.'
Powered by Cafe Webmaster
';
echo $htmo;
| Attachment | Size |
|---|---|
| Download multi-image_uploader_thumbnail_creator.zip | 1.39 KB |
Similar entries
- Upload multiple images with PHP
- Photo Album / Picture Gallery Script with PHP
- php
- Image watermark with PHP
- Mouseover images with CSS
- Redirect a query to multiple search engines with one form and javascript
- Web2 Style CSS Dynamic Menu with Arrows and Background-Images
- need help for customizing PHP-grep files search
- Error message Style Galleria requires an image field to be added.
- Search in text files recursively with PHP - Grep
- Web2 style secure & flexible free php contact form with easy setup
- Very simple and short PHP-Shell script
- Web 2.0 Style two Side Background, Dark to Light Effect
- Repair all mysql databases-tables with PHP
- Powertoys for Windows XP let u work faster and easier
- Pure CSS Mouseover Menu without Javascript
- Prevent hotlinking with htaccess and mod_rewrite
- DropDown / Rollover Menu with pure CSS / HTML
- Common HTML / Web colors
- Preload images with JavaScript or CSS

Comments
This is an awesome script
I was busy developing a site that allowed members to upload images for there own galleries. I was really struggling to create gif thumbnails and this script did everything I wanted and was so easy to implement. THANX
Great
Hi! It works great and is easy to use, but the resized images are of really low quality. What am i doing wrong?
This is a typical PHP+GD
This is a typical PHP+GD issue. Resized small images are low quality.
my thumbnail pictues is to low quality?
Hi. Firstly thanks for your great code. But i have a problem. With this code , my upload's thumbnail pictures are to low quality. Normal size pictures is the same as before uploading but small pictures is worse.
What must i do to be have hşgh quality thumb pictures.
Thanks to alot.
İf any body wawnt to help me , he can mail me :
malisabuncuoglu@gmail.com
See you soon
Code updated: high quality thumbnails
Code updated: imagecreate replaced with imagecreatetruecolor!
Now thumbnails are high quality.
Thumnails not working
Thumbnails not working..and only one image gets uploaded
it is working
just tested with 4 images, 1 gif + 1 png + 2 jpeg and it works. all images uploaded and thumbnails created. check your server + permissions.
Adding photos to Mysql database
How would you go about getting the name of each photo so it can be added to a mysql database? I know how to add single items from a form into a mysql database, but I'm not sure how it would work with the "for" loop you have.
Not working with transparency
it doesn't work for images with transparency, it becomes black :(
Sub Directory
How could this be set to upload the thumbnail to a sub-directory.? Great script btw..
Excelente script, funciona
Excelente script, funciona perfectamente. Gracias.
what dose this code do can u
what dose this code do can u put it on your website
Many Thanks
Thank you very much, you script work like a charm, awesome script and easy to customize. Cheers.
Greetings from Sri Lankan programmer.
Thumbs Low quality, and the same path
Thank for your coding, i have integrate it working fine,
but the thumbs is low quality, and in the same folder,
Can you tell me how customize this code to upload with high quality thumbs
and device big image and thumbs difference folder
my email: tituyhosting@gmail.com
Thank you so much,
Post new comment