I am trying to upload multiple files and i want to rename each file with current time. But when i am uploading files, I am getting an Error like
You did not select a file to upload.
I really don't know where i went wrong..
Any help would be greatly appreciated. Thank you..
Here is my controller:
public function upload_form()
{
//load the helper
$this->load->helper('form');
$msg = array('msg' => "");
if (isset($_FILES['upload_file'])) {
$class = $this->input->post('class');
$subject = $this->input->post('subject');
$topic = $this->input->post('topic');
$msg = array('msg' => "Upload success!");
$config['upload_path'] = './assets/uploads/';
$config['allowed_types'] = 'pdf|jpg|png|jpeg|gif';
$this->load->library('upload', $config);
$files = $_FILES;
$cpt = sizeof($_FILES['upload_file']['name']);
if(!$this->upload->do_upload('upload_file')){
$msg = array('msg' => $this->upload->display_errors());
}
else{
$data = array(
'class' => $class,
'subject' => $subject,
'topic' => $topic,
'file' => [
'file_name' => $_FILES['upload_file']['name']
]
);
$this->mongo_db->insert('file_upload', $data);
}
for ($i = 0; $i < $cpt; $i++) {
$this->upload->initialize($config);
$file_name = (microtime(true) * 1000);
$_FILES['upload_file']['name'] = $file_name;
$_FILES['upload_file']['type'] = $files['upload_file']['type'][$i];
$_FILES['upload_file']['tmp_name'] = $files['upload_file']['tmp_name'][$i];
$_FILES['upload_file']['error'] = $files['upload_file']['error'][$i];
$_FILES['upload_file']['size'] = $files['upload_file']['size'][$i];
}
}
$this->load->view('worksheets/header');
$this->load->view('worksheets/upload_form', $msg);
}
VIEW:
<?php echo $msg; ?>
<?php echo form_open_multipart('worksheets/upload_form/'); ?>
<input type="file" name="upload_file[]" multiple="multiple" class="custom- file-input" size="2000"/>
<input type="submit" value="Fire" class="upload_submit"/>
<?php echo form_close(); ?>