According to my post title above, now I will share a simple code about make upload and resize image using php. Exactly the code I got from searching on google, but I have made a little modification so now the code become a bit nicer than before. hehe ;).
Let's take look for my code:
Resize.php
<?php
if(isset($_POST['submit']))
{
//directory destination , make sure this directory is writable!
$path_thumbs = "C:\\bayu";
$path_big = "C:\\bayu\\thumb";
//the new width of the resized image, in pixels.
$img_thumb_width = 100; //
$extlimit = "yes"; //Limit allowed extensions? (no for all extensions allowed)
//List of allowed extensions if extlimit = yes
$limitedext = array(".gif",".jpg",".png",".jpeg",".bmp");
//the image -> variables
$file_type = $_FILES['vImage']['type'];
$file_name = $_FILES['vImage']['name'];
$file_size = $_FILES['vImage']['size'];
$file_tmp = $_FILES['vImage']['tmp_name'];
//check if you have selected a file.
if(!is_uploaded_file($file_tmp)){
echo "Error: Please select a file to upload!. <br>--<a href=\"$_SERVER[PHP_SELF]\">back</a>";
exit(); //exit the script and don't process the rest of it!
}
//check the file's extension
$ext = strrchr($file_name,'.');
$ext = strtolower($ext);
//the file extension is not allowed!
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Wrong file extension. <br>--<a href=\"$_SERVER[PHP_SELF]\">back</a>";
exit();
}
//so, whats the file's extension?
$getExt = explode ('.', $file_name);
$file_ext = $getExt[count($getExt)-1];
//create a random file name
$rand_name = md5(time());
$rand_name= rand(0,999999999);
//the new width variable
$ThumbWidth = $img_thumb_width;
//////////////////////////
// CREATE THE THUMBNAIL //
//////////////////////////
//keep image type
if($file_size){
if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
$new_img = imagecreatefromjpeg($file_tmp);
}elseif($file_type == "image/x-png" || $file_type == "image/png"){
$new_img = imagecreatefrompng($file_tmp);
}elseif($file_type == "image/gif"){
$new_img = imagecreatefromgif($file_tmp);
}
//list the width and height and keep the height ratio.
list($width, $height) = getimagesize($file_tmp);
//calculate the image ratio
$imgratio=$width/$height;
if ($imgratio>1){
$newwidth = $ThumbWidth;
$newheight = $ThumbWidth/$imgratio;
}else{
$newheight = $ThumbWidth;
$newwidth = $ThumbWidth*$imgratio;
}
//function for resize image.
if (function_exists(imagecreatetruecolor)){
$resized_img = imagecreatetruecolor($newwidth,$newheight);
}else{
die("Error: Please make sure you have GD library ver 2+");
}
//the resizing is going on here!
imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//finally, save the image
imagejpeg ($resized_img,"$path_thumbs/$rand_name.$file_ext");
imagedestroy ($resized_img);
imagedestroy ($new_img);
}
//ok copy the finished file to the thumbnail directory
move_uploaded_file ($file_tmp, "$path_big/$rand_name.$file_ext");
//success message, redirect to main page.
$msg = urlencode("$title was uploaded! <a href=\"Resize.php\">Upload More?</a>");
header("Location: Resize.php?msg=$msg");
exit();
}else{
//if there is a message, display it
if(isset($_GET['msg']))
{
//but decode it first!
echo "<p>".urldecode($_GET['msg'])."</p>";
}
//the upload form
echo "
<form action=\"$_SERVER[PHP_SELF]\" method=\"post\"enctype=\"multipart/form-data\">\n
<p>File:<input type=\"file\" name=\"vImage\" /></p>\n
<p><input type=\"submit\" name=\"submit\" value=\"Submit\" /></p>";
}
?>
Upss, , it's long enough, but never mind because I'm sure the code will work as well.
Notice : make sure the directory destination , is writable!
$path_thumbs = "C:\\bayu";
$path_big = "C:\\bayu\\thumb";
or you can change it as you want. :)
for the complete file you can "
Download here"
Okay, that's all.!!
if you have any question just write your comment below :)
Good Luck!!