Tuesday, 8 May 2012

PHP Image Convert Function Tutorial Upload Type jpg gif png On the Fly

<!-- -------------------------------------------- -->
<!-- "my_file.php" that has the simple form on it -->
<!-- -------------------------------------------- -->
                     
<form enctype="multipart/form-data" method="post" action="image_upload_script.php">
Choose your file here:
<input name="uploaded_file" type="file"/><br /><br />
<input type="submit" value="Upload It"/>
</form>

<!-- -------------------------------------------- -->
<!-- "image_upload_script.php" -->
<!-- -------------------------------------------- -->


<?php// Access the $_FILES global variable for this specific file being uploaded
// and create local PHP variables from the $_FILES array of information
$fileName $_FILES["uploaded_file"]["name"]; // The file name$fileTmpLoc $_FILES["uploaded_file"]["tmp_name"]; // File in the PHP tmp folder$fileType $_FILES["uploaded_file"]["type"]; // The type of file it is$fileSize $_FILES["uploaded_file"]["size"]; // File size in bytes$fileErrorMsg $_FILES["uploaded_file"]["error"]; // 0 for false... and 1 for true$fileName preg_replace('#[^a-z.0-9]#i'''$fileName); // filter the $filename$kaboom explode("."$fileName); // Split file name into an array using the dot$fileExt end($kaboom); // Now target the last array element to get the file extension

// START PHP Image Upload Error Handling --------------------------------
if (!$fileTmpLoc) { // if file not chosen
    
echo "ERROR: Please browse for a file before clicking the upload button.";
    exit();
} else if(
$fileSize 5242880) { // if file size is larger than 5 Megabytes
    
echo "ERROR: Your file was larger than 5 Megabytes in size.";
    
unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
    
exit();
} else if (!
preg_match("/.(gif|jpg|png)$/i"$fileName) ) {
     
// This condition is only if you wish to allow uploading of specific file types  
     
echo "ERROR: Your image was not .gif, .jpg, or .png.";
     
unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
     
exit();
} else if (
$fileErrorMsg == 1) { // if file upload error key is equal to 1
    
echo "ERROR: An error occured while processing the file. Try again.";
    exit();
}
// END PHP Image Upload Error Handling ----------------------------------
// Place it into your "uploads" folder mow using the move_uploaded_file() function
$moveResult move_uploaded_file($fileTmpLoc"uploads/$fileName");// Check to make sure the move result is true before continuingif ($moveResult != true) {
    echo 
"ERROR: File not uploaded. Try again.";
    exit();
}
// Include the file that houses all of our custom image functionsinclude_once("ak_php_img_lib_1.0.php");// ---------- Start Adams Universal Image Resizing Function --------$target_file "uploads/$fileName";$resized_file "uploads/resized_$fileName";$wmax 500;$hmax 500;ak_img_resize($target_file$resized_file$wmax$hmax$fileExt);// ----------- End Adams Universal Image Resizing Function ----------
// ---------- Start Adams Convert to JPG Function --------
if (strtolower($fileExt) != "jpg") {
    
$target_file "uploads/resized_$fileName";
    
$new_jpg "uploads/resized_".$kaboom[0].".jpg";
    
ak_img_convert_to_jpg($target_file$new_jpg$fileExt);
}
// ----------- End Adams Convert to JPG Function -----------
// Display things to the page so you can see what is happening for testing purposes
echo "The file named <strong>$fileName</strong> uploaded successfuly.<br /><br />";
echo 
"It is <strong>$fileSize</strong> bytes in size.<br /><br />";
echo 
"It is an <strong>$fileType</strong> type of file.<br /><br />";
echo 
"The file extension is <strong>$fileExt</strong><br /><br />";
echo 
"The Error Message output for this upload is: $fileErrorMsg";?>
<!-- -------------------------------------------- -->
<!-- "ak_php_img_lib_1.0.php" -->
<!-- -------------------------------------------- -->

<?php// Adam Khoury PHP Image Function Library 1.0
// ----------------------- RESIZE FUNCTION -----------------------
// Function for resizing any jpg, gif, or png image files
function ak_img_resize($target$newcopy$w$h$ext) {
    list(
$w_orig$h_orig) = getimagesize($target);
    
$scale_ratio $w_orig $h_orig;
    if ((
$w $h) > $scale_ratio) {
           
$w $h $scale_ratio;
    } else {
           
$h $w $scale_ratio;
    }
    
$img "";
    
$ext strtolower($ext);
    if (
$ext == "gif"){
    
$img imagecreatefromgif($target);
    } else if(
$ext =="png"){
    
$img imagecreatefrompng($target);
    } else {
    
$img imagecreatefromjpeg($target);
    }
    
$tci imagecreatetruecolor($w$h);
    
// imagecopyresampled(dst_img, src_img, dst_x, dst_y, src_x, src_y, dst_w, dst_h, src_w, src_h)
    
imagecopyresampled($tci$img0000$w$h$w_orig$h_orig);
    if (
$ext == "gif"){
        
imagegif($tci$newcopy);
    } else if(
$ext =="png"){
        
imagepng($tci$newcopy);
    } else {
        
imagejpeg($tci$newcopy84);
    }
}
// ---------------- THUMBNAIL (CROP) FUNCTION ------------------
// Function for creating a true thumbnail cropping from any jpg, gif, or png image files
function ak_img_thumb($target$newcopy$w$h$ext) {
    list(
$w_orig$h_orig) = getimagesize($target);
    
$src_x = ($w_orig 2) - ($w 2);
    
$src_y = ($h_orig 2) - ($h 2);
    
$ext strtolower($ext);
    
$img "";
    if (
$ext == "gif"){
    
$img imagecreatefromgif($target);
    } else if(
$ext =="png"){
    
$img imagecreatefrompng($target);
    } else {
    
$img imagecreatefromjpeg($target);
    }
    
$tci imagecreatetruecolor($w$h);
    
imagecopyresampled($tci$img00$src_x$src_y$w$h$w$h);
    if (
$ext == "gif"){
        
imagegif($tci$newcopy);
    } else if(
$ext =="png"){
        
imagepng($tci$newcopy);
    } else {
        
imagejpeg($tci$newcopy84);
    }
}
// ------------------ IMAGE CONVERT FUNCTION -------------------
// Function for converting GIFs and PNGs to JPG upon upload
function ak_img_convert_to_jpg($target$newcopy$ext) {
    list(
$w_orig$h_orig) = getimagesize($target);
    
$ext strtolower($ext);
    
$img "";
    if (
$ext == "gif"){
        
$img imagecreatefromgif($target);
    } else if(
$ext =="png"){
        
$img imagecreatefrompng($target);
    }
    
$tci imagecreatetruecolor($w_orig$h_orig);
    
imagecopyresampled($tci$img0000$w_orig$h_orig$w_orig$h_orig);
    
imagejpeg($tci$newcopy84);
}
?>

No comments:

Post a Comment