I made a function which is successfully uploading [multiple] the files. But If I try to change the filename, the filename is getting changed but only last selected file is getting uploaded.
Here is my code.
<?php
$files = $_FILES['userfile'];
$dir = './uploads/';
foreach ($files['name'] as $key => $value) {
$direction = $dir . $_FILES['userfile']['name'][$key];
move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $direction);
}
?>
Manage to do this
$files = $_FILES['userfile'];
$dir = './uploads/';
foreach ($files['name'] as $key => $value) {
$filename = $_FILES["userfile"]["name"][$key];
$temp = explode(".", $filename);
$newfilename = uniqid('',true).'.'.end($temp);
$direction = $dir.$newfilename;
move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $direction);
}
problem was with the microtime()
Try This Code
//load date helper
$this->load->helper('date');
$files = $_FILES['userfile'];
$dir = './uploads/';
foreach ($files['name'] as $key => $value) {
$filename = $_FILES["userfile"]["name"][$key];
$temp = explode(".", $filename);
//
$file_tempname = date('Y-m-d H:i:s');
//
$newfilename = $file_tempname.'.'.end($temp);
$direction = $dir.$newfilename;
move_uploaded_file($_FILES['userfile']['tmp_name'][$key], $direction);
}