Please follow the steps below to upload images or other files. If an error occurs when trying to please comment below.
Step 1
Create database : db_tutorial
Open file config.php in /application/config/config.php
Open file autoload.php in /application/config/autoload.php
Open file database.php in /application/config/database.php
Create new controller with name Welcome.php in /application/controllers/Welcome.php
Create new view file with name welcome_message.php in /application/views/welcome_message.php
Create new folder with name uploads in <project_name>/uploads
Step 1
Create database : db_tutorial
CREATE TABLE `tb_file` ( `file_ID` int(11) NOT NULL, `file_name` varchar(100) NOT NULL, `file_size` varchar(50) NOT NULL );Step 2
Open file config.php in /application/config/config.php
$config['base_url'] = 'http://localhost/tutorial/';Step 3
Open file autoload.php in /application/config/autoload.php
$autoload['libraries'] = array(
'form_validation',
'upload',
'database'
);
$autoload['helper'] = array(
'html',
'url'
);
Step 4Open file database.php in /application/config/database.php
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'db_tutorial', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE );Step 5
Create new controller with name Welcome.php in /application/controllers/Welcome.php
<?php
class Welcome extends CI_Controller {
var $data = array();
function __construct() {
parent::__construct();
}
function index() {
if ($this->input->post('file_submit') && !empty($_FILES['file_upload']['name'])) {
$number_of_files = sizeof($_FILES['file_upload']['tmp_name']);
$files = $_FILES['file_upload'];
for ($i = 0; $i < $number_of_files; $i++) {
if ($_FILES['file_upload']['error'][$i] != 0) {
$this->form_validation->set_message('file_upload', 'Couldn\'t upload the files');
return false;
}
}
$config['upload_path'] = FCPATH.'uploads/';
$config['allowed_types'] = 'jpg|jpeg|bmp|png|gif';
$config['encrypt_name'] = true;
for ($i = 0; $i < $number_of_files; $i++) {
$_FILES['file_upload']['name'] = $files['name'][$i];
$_FILES['file_upload']['type'] = $files['type'][$i];
$_FILES['file_upload']['tmp_name'] = $files['tmp_name'][$i];
$_FILES['file_upload']['error'] = $files['error'][$i];
$_FILES['file_upload']['size'] = $files['size'][$i];
$this->upload->initialize($config);
if ($this->upload->do_upload('file_upload')) {
$data = $this->upload->data();
chmod($data['full_path'], 0777);
// insert to database
$insert[$i]['file_name'] = $data['file_name'];
$insert[$i]['file_size'] = $data['file_size'];
}
}
$this->db->insert_batch('tb_file', $insert);
}
$this->data = array(
'query' => $this->db->get('tb_file')
);
$this->load->view('welcome_message', $this->data);
}
}
Step 6Create new view file with name welcome_message.php in /application/views/welcome_message.php
<html>
<head>
<title>Codeigniter Multiple Upload File</title>
</head>
<body>
<?php
echo form_open_multipart();
echo form_upload(array(
'multiple' => '',
'name' => 'file_upload[]'
));
echo form_error('file_upload');
echo form_submit(array(
'name' => 'file_submit',
'value' => 'Upload File'
));
echo form_close();
?>
<ul>
<?php
if ($query->num_rows() > 0) {
foreach ($query->result() as $data) {
echo '<li>';
echo img(array(
'src' => 'uploads/'.$data->file_name
));
echo '</li>';
}
} else {
echo '<li>Image still empty</li>';
}
?>
</ul>
</body>
</html>
Step 7Create new folder with name uploads in <project_name>/uploads