I want to insert underscore before the counting index every time I upload multiple files.
What I expect:
Schools.jpg
Schools_1.jpg
Schools_2.jpg
Schools_3.jpg
My program output:
Schools.jpg
Schools1.jpg
Schools2.jpg
Schools3.jpg
Here's my code:
Controller
public function do_upload() {
$this->load->library('upload');
$files = $_FILES;
$cpt = count($_FILES['userfile']['name']);
for($i=0; $i<$cpt; $i++) {
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];
$this->upload->initialize($this->set_upload_options());
$this->db->insert('tbl_image', $file_array);
}
}
private function set_upload_options() {
$config = array(
'image_library' => 'gd2',
'file_name' => $this->input->post('file_name'),
'upload_path' => './public/img/uploads',
'upload_url' => base_url().'public/img/uploads',
'allowed_types' => 'jpg|jpeg|pdf',
'max_size' => '1024KB',
'max_width' => '1024',
'max_height' => '768',
'maintain_ratio'=> TRUE,
'overwrite' => false,
);
return $config;
}
HTML
<label for="file">Select File To Upload:</label>
<input type="file" name="userfile[]" multiple/>
<label for="file_name">Set image file name:</label>
<input type="text" size="20" name="file_name" required id="file_name"/>
<input type="submit" id="btnSubmit" value="Upload File"/>