Multiple Files Upload in PHP

This is how we can upload multiple files using PHP.

HTML code below.

<div class="container">
<div class="row footer">
<div class="col-md-12 contact_left">
 
<h3>Upload multiple files to server </h3>
<form action="" method="post"  enctype="multipart/form-data">
  <label for="file"><?php echo 'Select File/Files'; ?></label>
<input type="file" name="files[]" multiple style="font-size:14px;"/>
<button type="input" name="submit" value="contactUs" class="btn btn-success btn-icon pull-right"><?php echo 'Submit'; ?></button>
</form>
</div>
</div>
</div>

Now I have added below PHP code and it shows how to upload multiple files to server. (Not the DB)

if (isset($_POST['submit']) && $_POST['submit'] == 'contactUs') {

//upload file start here
$randomString=md5(uniqid(rand()));
$appendName=substr($randomString, 0, 8);
$folderName =  $appendName;
$newDir = 'uploads/' . $folderName ;
if(isset($_FILES['files'])){
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152){
$errors[]='File size must be less than 2 MB';
}
$desired_dir= $newDir; //echo $desired_dir;
if(empty($errors)==true){
if(is_dir($desired_dir)==false){
//echo '<br> Make Dir'.$desired_dir.'<br>';
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
}else{ // rename the file if another one exist
$new_dir="$desired_dir/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
}else{
print_r($errors);
}
}
}
//upload file end  here

}

You have put both code  in same PHP file. And happy coding. 

Comments

Popular Posts