Saturday, May 30, 2015

Codeigniter: Upload/Save Image to Database and Watermark



Folder Structure
./application/
./system/
./upload/
./index.php

tb_image.sql
CREATE TABLE IF NOT EXISTS `tb_image` (
     `ID_image` int(11) NOT NULL AUTO_INCREMENT,
     `file_name` varchar(50) NOT NULL,
     `file_type` varchar(50) NOT NULL,
     `file_path` varchar(50) NOT NULL,
     `full_path` varchar(100) NOT NULL,
     `raw_name` varchar(50) NOT NULL,
     `orig_name` varchar(50) NOT NULL,
     `client_name` varchar(50) NOT NULL,
     `file_ext` varchar(50) NOT NULL,
     `file_size` varchar(10) NOT NULL,
     `image_width` varchar(10) NOT NULL,
     `image_height` varchar(10) NOT NULL,
     `image_type` varchar(10) NOT NULL,
     `image_size_str` varchar(50) NOT NULL,
     PRIMARY KEY (`ID_image`)
)

./application/config/autoload.php
$autoload['libraries'] = array('database', 'form_validation');
$autoload['helper'] = array('url', 'html');

./application/controllers/image_watermark.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Image_watermark extends CI_Controller {

     public function __construct() {
          parent::__construct();
     }

     public function index() {
          $config = array(
               'upload_path' => 'upload/',
               'allowed_types' => 'gif|jpg|png|', // |etc.
               'max_size' => '0'
          );
          $this->load->library('upload', $config);

          if ($this->upload->do_upload('file_name')) {
               $data = $this->upload->data();

               $watermark = array(
                    'source_image' => './upload/'.$data['file_name'],
                    'wm_text' => date('Y M d'), // enter your patent here
                    'wm_font_path' => './system/fonts/texb.ttf',
                    'wm_font_size' => '50',
                    'wm_font_color' => 'ffffff',
                    'wm_vrt_alignment' => 'top',
                    'wm_hor_alignment' => 'center',
                    'wm_padding' => '20'
               );

               /* if you image_lib you have automatic load
               change
               $this->load->library('image_lib', $watermark);
               to
               $this->image_lib->initialize($watermark);
               */
               $this->load->library('image_lib', $watermark);
               $this->image_lib->watermark();

               $insert_to_database = array(
                    'file_name' => $data['file_name'],
                    'file_type' => $data['file_type'],
                    'file_path' => $data['file_path'],
                    'full_path' => $data['full_path'],
                    'raw_name' => $data['raw_name'],
                    'orig_name' => $data['orig_name'],
                    'client_name' => $data['client_name'],
                    'file_ext' => $data['file_ext'],
                    'file_size' => $data['file_size'],
                    'image_width' => $data['image_width'],
                    'image_height' => $data['image_height'],
                    'image_type' => $data['image_type'],
                    'image_size_str' => $data['image_size_str']
               );
               $this->db->insert('tb_image', $insert_to_database);
               redirect('image_watermark');
          }

          $data['result'] = $this->db->get('tb_image')->result();

          $this->load->view('image_watermark', $data);
     }

}

/* End of file image_watermark.php */
/* Location: ./application/controllers/image_watermark.php */

./application/views/image_watermark.php
<?=form_open_multipart();?>
<?=form_upload('file_name');?>
<?=form_submit('upload', 'Upload');?>
<?=form_close();?>
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
     <tr>
          <td></td>
          <th align="left">File Name</th>
          <th align="left">File Type</th>
          <th align="left">Full Path</th>
          <th align="left">File Size</th>
     </tr>
     <?php
     foreach ($result as $data) {
          echo '<tr>';
          echo '<td>'.img(array('src' => 'upload/'.$data->file_name, 'width' => '80', 'height' => '50')).'</td>';
          echo '<td>'.$data->file_name.'</td>';
          echo '<td>'.$data->file_type.'</td>';
          echo '<td>'.$data->full_path.'</td>';
          echo '<td>'.$data->file_size.'</td>';
          echo '</tr>';
     }
     ?>
</table>

Categories: ,

0 comments:

Post a Comment

luvne.com resepkuekeringku.com desainrumahnya.com yayasanbabysitterku.com

Copyright © Click | Powered by Blogger