Friday, November 29, 2013

Upload Gambar (Codeigniter)

Sekarang saya akan membahas mengenai upload file dicodeigniter. pada dasarnya sama saja alurnya dengan  upload pada PHP biasa. mungkin bahasa yang sedikit berbeda. yuk langsung ke masalahnya saja.

buat database terlebih dahulu

create database latihan;

use latihan;

lalu buat table galerinya,

CREATE TABLE IF NOT EXISTS `galeri` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `foto` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


sekarang waktunya konfigurasi database dan autoload.

buka file database.php pada folder application/config/database.php



    $db['default']['hostname'] = 'localhost';


      $db['default']['username'] = 'root';


        $db['default']['password'] = '';


          $db['default']['database'] = 'latihan';


            $db['default']['dbdriver'] = 'mysql';


            lalu buka file autoload.php pada folder application/config/autoload.php, cari baris kode berikut

            $autoload['libraries'] = array('');

            ubah menjadi

            $autoload['libraries'] = array('database');

            lalu cari kode

            $autoload['helper'] = array('');
            ubah menjadi

            $autoload['helper'] = array('url','file','html','form');


            setelah itu siapkan modelnya, berikut modelnya


            1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

            2. class Blog_model extends CI_Model {

            3. function GetAll($query = ''){
            4. return $this->db->query($query);
            5. }
            6. public function InsertData($table,$data){
            7.  return $this->db->insert($table,$data); 
            8.  }
            9. }
            simpan file tersebut pada folder application/models, lalu buat controllernya.

            galeri.php

            1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

            2. class Galeri extends CI_Controller {

            3. function index(){
            4. if($this->input->post("simpan")){
            5. $this->load->library('upload');
            6. //Nama Foto dirubah
            7. $filename = 'gambar-'.trim(str_replace(" ","_","Foto")).'-'.date('dmYHis');
            8.             
            9. if($this->upload_gambar($filename) == FALSE){
            10. echo $data['err_gambar'] = $this->upl_error;
            11. }else{
            12.                 
            13. $x = array(
            14. 'foto'=>$this->upl_name,
            15. $result = $this->blog_model->InsertData('galeri',$x);
            16. }
            17. }
            18. $data = array(
            19. 'galeri' =>$this->blog_model->GetAll("select * from galeri")->result_array()
            20. );
            21. $this->load->view('galeri',$data);
            22. }
            23. function upload_gambar($filename){
            24.         $config['upload_path']    = "./gambar/";
            25.         $config['allowed_types']  = 'jpg|jpeg|png|gif';
            26.         $config['max_size']       = '2000';
            27.         $config['max_width']      = '2000';
            28.         $config['min_width']      = '2000';
            29.         $config['file_name']      = $filename;

            30.         $this->upload->initialize($config);
            31.         if( ! $this->upload->do_upload('gambar')){
            32.             $this->upl_error = $this->upload->display_errors('','');
            33.             return FALSE;
            34.         }else{
            35.             $data['upload'] = $this->upload->data();
            36.             $this->upl_name = $data['upload']['file_name'];
            37.             return TRUE;
            38.         }
            39.     }
            40. }

            function upload_gambar merupakan fungsi yang digunakan untuk memindahkan gambar pada folder kita, pada fungsi tersebut terdapat kode    $config['upload_path']    = "./gambar/"; kode tersebut menandakan foto akan dipindahkan pada folder gambar, oleh karena itu buat folder gambar pada folder root sejajar dengan folder application.

            setelah itu buat file viewnya

            galeri.php

            1. <?php echo form_open_multipart('galeri') ?>

            2. <table>
            3. <tr>
            4.     <td>Pilih Gambar</td>
            5.     <td><input type="file" name="gambar"/></td>
            6. </tr>

            7. <tr>
            8.     <td></td>
            9.     <td><input type="submit" name="simpan" value="Simpan"/></td>
            10. </tr>


            11.     
            12. </table>

            13. <hr/>

            14. <?php echo form_close();?>

            15. <?php foreach($galeri as $c){ ?>
            16.     <table style="float:left" class="table">
            17. <tr>
            18.             <td colspan="2"><?php echo $c['judul']?></td> 
            19.         </tr>
            20. <tr>
            21.             <td><img src="<?php echo base_url()?>gambar/<?php echo $c['foto']?>" width="200"/></td>
            22.         
            23.         </td> 
            24.         </tr>
            25.     </table>
            26. <?php } ?>
            ya sekian ulasan mengenai upload, semoga bermanfaat, jika ada yang kurang jelas silahkan komentar saja :D

            No comments:

            Post a Comment