hi i'm still learning some basics of php, and now i'm trying to modify codes.. and follow tutorials
after following a tutorial i made this multi-uploader which uploads images and thumbnails
but there's a little thing with it, it changes the image name to random name, and i want it to keep the original file name..
i did tried (alot actually) and i found the function that creates the random name, but it has a variables within in it, and i did tried to change these variables, but it seems to be out of my limits for now.. because they are linked with other more complicated lines ..
so i wish if you could help me and comment what did you do so that i learn..
Ali//
<?php
function create_thumbnail ($source, $destination, $thumb_width) {
$size = getimagesize($source);
$width = $size[0];
$height = $size[1];
$x = 0;
$y = 0;
if ($width > $height ) {
$x = ceil (($width - $height) / 2);
$width = $height;}
elseif ($height> $width) {
$y = ceil (($height - $width) / 2);
$height = $width; }
$new_image = imagecreatetruecolor($thumb_width,$thumb_width)
or die ('Cannot intialize new image stream, make sure to read the instructions');
$extension = get_image_extension($source);
if($extension=='jpg' || $extension=='jpeg')
$image = imagecreatefromjpeg($source);
if($extension=='gif') // for gif
$image = imagecreatefromgif($source);
if($extension == 'png') // for png
$image = imagecreatefrompng($source);
//now in relative to the upper lines the next few lines....
imagecopyresampled($new_image,$image,0,0, $x,$y,$thumb_width,$thumb_width,$width,$height);
if($extension=='jpg' || $extension=='jpeg')
imagejpeg($new_image,$destination);
if ($extension == 'gif')
imagegif($new_image, $destination);
if($extension=='png')
imagepng($new_image,$destination);
}
function get_image_extension($name) { // gets the image extension
$name = strtolower($name); // converts the name to lowercase
$i = strrpos($name, ".");
if (!$i) {return ""; }
$l = strlen($name) - $i;
$extension = substr($name,$i+1,strlen($name));
return $extension;
}
function random_name($length) {
$characters = "ABCDEFGHIJKLMNOPQRSUVWXYZ0123456789";
$name = "";
for ($i=0; $i < $length; $i++) {
$name .= $characters [mt_rand(0, strlen($characters) - 1)]; }
return "image-".$name;
}
$images_location = "images/featured/"; // images directory
$thumbs_location = "images/tn/"; // thumnails directory
$thumbs_width = 100; // width in pixels
$maximum_size = 99999999999999; // maximum size in kb (i know, but 99999999999999 looks pretty )
$result ="click browse to locate the image you want to upload"; // just a message bro.
if (isset($_POST['submit'])){
if($_FILES['image']['name'][0] == "") { // checks
$result = "please choose an image !!";} // message
else{
for($i=0;$i<count($_FILES['image']['name']);$i++){
$size=filesize($_FILES['image']['tmp_name'][$i]);
$filename = stripslashes($_FILES['image']['name'][$i]);
$extension = get_image_extension($filename);
if ($size > $maximum_size) {
$result = "image is too large, please choose a smaller one.";}
else // now checks the extension..
if (($extension != "jpg") && // not a jpg
($extension != "jpeg") && // not a jpeg
($extension != "png") && // not a png
($extension != "gif")) { // not a gif !! WTF is it ???
$result = "it's not an image file, please choose an image with proper extension";}
else
$image_random_name= random_name(15).".".$extension ;
$copy = @move_uploaded_file($_FILES['image']['tmp_name'][$i], $images_location.$image_random_name);
if (!$copy) { $result = "we're sorry, there's a technical error, please try again, please"; }
else // you finally reached this (else) and the image will be uploaded Hallelujah
{ create_thumbnail ($images_location.$image_random_name,$thumbs_location.$image_random_name, $thumbs_width) ;
$result = "image has been uploaded"; // it actually refers to me
}
}
}
}
echo "$result";
?>
<html>
<head>
<title>Multi_uploader with thumbnails</title>
</head>
<body>
<form id="frm1" action="multi_uploader_with_thumbnails.php" method="post" enctype="multipart/form-data" autocomplete="on">
<input type="hidden" name="MAX_FILE_SIZE" value="99999999999999"> <!-- this is kb but 99999999999999 looks cool -->
<input type="file" name="image[]" multiple />
<input name="submit" id="submit" type="submit" value="Upload them">
</form>
</body>
</html>