Controllers - main.php
function image_upload()
{
$data['title'] = "Upload Image using Ajax JQuery in CodeIgniter";
$this->load->model('main_model');
$data["image_data"] = $this->main_model->fetch_image();
$this->load->view('image_upload', $data);
}
function ajax_upload()
{
if(isset($_FILES["image_file"]["name"]))
{
$config['upload_path'] = './upload/';
$config['allowed_types'] = 'jpg|jpeg|png|gif';
$this->load->library('upload', $config);
if(!$this->upload->do_upload('image_file'))
{
echo $this->upload->display_errors();
}
else
{
$data = $this->upload->data();
$config['image_library'] = 'gd2';
$config['source_image'] = './upload/'.$data["file_name"];
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = FALSE;
$config['quality'] = '60%';
$config['width'] = 200;
$config['height'] = 200;
$config['new_image'] = './upload/'.$data["file_name"];
$this->load->library('image_lib', $config);
$this->image_lib->resize();
$this->load->model('main_model');
$image_data = array(
'name' => $data["file_name"]
);
$this->main_model->insert_image($image_data);
echo $this->main_model->fetch_image();
//echo '<img src="'.base_url().'upload/'.$data["file_name"].'" width="300" height="225" class="img-thumbnail" />';
}
}
}
Models - main_model.php
function insert_image($data)
{
$this->db->insert("tbl_images", $data);
}
function fetch_image()
{
$output = '';
$this->db->select("name");
$this->db->from("tbl_images");
$this->db->order_by("id", "DESC");
$query = $this->db->get();
foreach($query->result() as $row)
{
$output .= '
<div class="col-md-3">
<img src="'.base_url().'upload/'.$row->name.'" class="img-responsive img-thumbnail" />
</div>
';
}
return $output;
}
Views - image_upload.php
<!DOCTYPE html>
<html>
<head>
<title>Webslesson | <?php echo $title; ?></title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<div class="container">
<br /><br /><br />
<h3 align="center"><?php echo $title; ?></h3>
<form method="post" id="upload_form" align="center" enctype="multipart/form-data">
<input type="file" name="image_file" id="image_file" />
<br />
<br />
<input type="submit" name="upload" id="upload" value="Upload" class="btn btn-info" />
</form>
<br />
<br />
<div id="uploaded_image">
<?php echo $image_data; ?>
</div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
$('#upload_form').on('submit', function(e){
e.preventDefault();
if($('#image_file').val() == '')
{
alert("Please Select the File");
}
else
{
$.ajax({
url:"<?php echo base_url(); ?>main/ajax_upload",
//base_url() = http://localhost/tutorial/codeigniter
method:"POST",
data:new FormData(this),
contentType: false,
cache: false,
processData:false,
success:function(data)
{
$('#uploaded_image').html(data);
}
});
}
});
});
</script>
tbl_images
--
-- Table structure for table `tbl_images`
--
CREATE TABLE IF NOT EXISTS `tbl_images` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Dumping data for table `tbl_images`
--
Comments
Post a Comment