Uploading & thumbnails
Posted: Sun May 23, 2004 11:11 am
I have the following code that was put together from various scripts found on the net. The code uploads 2 files, one a jpg and one a zip file, and adds the info into a database. The jpg is resized, adds a border to it and is renamed along with the zip file to a random name and then the names entered into a db. The code does work but I would like to clean it up, creating a function or class from it. Any hints or tips welcome.
Code: Select all
<?php
error_reporting(E_ALL);
include('includes/funcs.php');
$skinz = my_conn();
$member_id = $_POST['member_id'];
$cat_id = $_POST['cat_id'];
$sub_cat = $_POST['sub_cat'];
$image_desc = $_POST['image_desc'];
$image_name = $_POST['image_name'];
// Set the directory to upload files to
$uploaddir_r = $_SERVER['DOCUMENT_ROOT'] . '/uploads/previews/';
$uploaddir_z = $_SERVER['DOCUMENT_ROOT'] . '/uploads/archives/';
// An array of allowed file types
$file_types = array(
'image/pjpeg' => 'jpg',
'image/jpeg' => 'jpg',
'image/x-png' => 'png',
'application/x-zip-compressed' => 'zip'
);
$imagefile = $uploaddir_r . $_FILES['imagefile']['name'];
$zipfile = $uploaddir_z . $_FILES['zipfile']['name'];
//Preview image section
$filetype = $_FILES['imagefile']['type'];
$filename = $_FILES['imagefile']['name'];
$tempname = $_FILES['imagefile']['tmp_name'];
if (!move_uploaded_file($tempname, $imagefile)) {
print "ERROR: File is invalid";
print_r($_FILES);
}
$new_filei = substr(sha1(rand(10, time())), 0, . '.' . $file_types[$filetype];
rename($imagefile, $uploaddir_r . $new_filei);
// Set a few variables for resize script
$image = $uploaddir_r . $new_filei;
$newimage = $image;
$image_quality = 80;
$addborder = 1;
$max_height = 225;
$max_width = 300;
// Main image resize code
$src_img = ImageCreateFromJpeg($image);
$orig_x = ImageSX($src_img);
$orig_y = ImageSY($src_img);
$new_y = $max_height;
$new_x = $orig_x/($orig_y/$max_height);
if ($new_x > $max_width) {
$new_x = $max_width;
$new_y = $orig_y/($orig_x/$max_width);
}
$dst_img = ImageCreateTrueColor($new_x,$new_y);
ImageCopyResampled($dst_img, $src_img, 0, 0, 0, 0, $new_x, $new_y, $orig_x, $orig_y);
if ($addborder == 1) {
// Add border
$black = ImageColorAllocate($dst_img, 0, 0, 0);
ImageSetThickness($dst_img, 1);
ImageLine($dst_img, 0, 0, $new_x, 0, $black);
ImageLine($dst_img, 0, 0, 0, $new_y, $black);
ImageLine($dst_img, $new_x-1, 0, $new_x-1, $new_y, $black);
ImageLine($dst_img, 0, $new_y-1, $new_x, $new_y-1, $black);
}
ImageJpeg($dst_img, $newimage, $image_quality);
ImageDestroy($src_img);
ImageDestroy($dst_img);
//Zip file section
$filetype = $_FILES['zipfile']['type'];
$filename = $_FILES['zipfile']['name'];
$tempname = $_FILES['zipfile']['tmp_name'];
if (!move_uploaded_file($tempname, $zipfile)) {
print "ERROR: File is invalid";
print_r($_FILES);
}
$new_filez = substr(sha1(rand(10, time())), 0, . '.' . $file_types[$filetype];
rename($zipfile, $uploaddir_z . $new_filez);
// Databse insertion stuff
$zipmime = $_FILES['zipfile']['type'];
$zipsize = $_FILES['zipfile']['size'];
$query = "INSERT INTO skinz_images (cat_id,subcat_id,user_id,status,image_name,image_description,image_date,image_thumb_file,image_download_url,image_mime,image_zsize) VALUES ('$cat_id','$sub_cat','$member_id','0','$image_name','$image_desc',now(),'uploads/previews/$new_filei','uploads/archives/$new_filez','$zipmime','$zipsize')";
$result = mysql_query($query, $skinz) or die(mysql_error());
mysql_close();
echo header ("Location: usercp.php");
?>