Lompat ke konten Lompat ke sidebar Lompat ke footer

Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X

Berawal dari pertanyaan salah seorang teman tentang multiple upload pada codeigniter ternyata memiliki perbedaan. Perbedaan pertama adalah dari versi CI yang digunakan dan jenis library MY_Upload.php

Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X

Disini saya akan mencoba menjelaskan penerapan coding dari library MY_Upload.php pada Codeigniter versi 2.X dan 3.X.

Sebelum ke praktek, coba anda persiapkan terlebih dahulu file-file yang dibutuhkan.

  1. Download Codeigniter Framework (versi 2.x atau 3.x) disini
  2. Download Library MY_Upload untuk CI 2.X disini
  3. Download Library MY_Upload untuk Codeigniter 3.X disini
  4. Download dan install XAMPP disini

Jika semua bahan yang dibutuhkan sudah didapat langkah berikutnya adalah penerapan library MY_Upload.

Untuk Codeigniter versi 2.X :

1. Jangan lupa untuk me-load helper form dan url. Tambahkan script ini di dalam function Construct

$this->load->helper(array('form', 'url'));

2. Copy-kan library MY_Upload.php ke dalam folder application/libraries

3. Buat folder uploads sejajar dengan folder application

Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X

4. Buat file controller upload.php kemudian masukkan script php dibawah ini :

<?php

class Upload extends CI_Controller {

 function __construct()

 {

  parent::__construct();

  $this->load->helper(array('form', 'url'));

 }

 

 function index()

 {

  $this->load->view('upload_form_multi_1');

   }

        

        function do_upload_multi()

  {        

              $this->load->library('upload');

  

       //Configure upload.

              $this->upload->initialize(array(

   "allowed_types" => "gif|jpg|png|jpeg",

                 "upload_path"   => "./uploads/"

              ));

        

              //Perform upload.

              if($this->upload->do_multi_upload("images")) {

                  $data['data'] = $this->upload->get_multi_upload_data();

                  echo '<pre>';

                  var_export($data);

                  echo '</pre>';

              }else{

      die('GAGAL UPLOAD');

       }

  }

}

?>

5. Buat file view upload_form_multi_1.php

<html>

<head>

<title>Upload Form | Codeigniter 2.X</title>

</head>

<body>

<?php echo form_open_multipart('upload/do_upload_multi_1');?>

<h2>For Multiple Upload Codeigniter 2.X</h2>

<div style="border: 1px dotted #000;margin:10px 0;padding:10px;">

<input type="file" name="images[]" />

<input type="file" name="images[]"/>

<input type="file" name="images[]"/>

</div>

<br /><br />

<input type="submit" value="upload" name="upload" />

</form>

</body>

</html>

6. Tampilan image array setelah berhasil upload

Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X
7. Coba buka file controller anda dan upload beberapa gambar, jika berhasil image akan terupload ke dalam folder uploads seperti gambar dibawah ini.
Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X

sedangkan untuk Codeigniter versi 3.X keatas ada library tersendiri untuk menangani multiple upload ini. Oiya..jika anda baru upgrade ke CI versi 3.X ada perbedaan dalam penulisan nama controller. Pada CI versi 3.X keatas penulisan nama file Controller dan Class harus diawali dengan huruf Kapital. Jika belum terbiasa dengan CI versi 3.X anda bisa membaca dokumentasinya terlebih dahulu.

Untuk Codeigniter versi 3.X :

1. Langkah 1-2 hampir sama dengan Codeigniter versi 2.X bedanya hanya pada library MY_Upload.php

2. Buat juga file controller Upload.php kemudian masukkan script berikut :

<?php

defined('BASEPATH') OR exit('No direct script access allowed');


class Upload extends CI_Controller {


 public function __construct()

    {

        parent::__construct();

        $this->load->helper(array('form', 'url'));

    }


 public function index()

 {

  $this->load->view('upload_form_multi_2');

 }

 

 function do_upload_multi()

 {        

             $this->load->library('upload');

  

      //Configure upload.

             $this->upload->initialize(array(

   "allowed_types" => "gif|jpg|png|jpeg",

                 "upload_path"   => "./uploads/"

             ));

        

             //Perform upload.

             if($this->upload->do_upload("images")) {

                 $uploaded = $this->upload->data();

                 echo '<pre>';

   var_export($uploaded);

   echo '</pre>';

             }else{

   die('GAGAL UPLOAD');

      }

 }

}

3. Buat file view upload_form_multi_2.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html>
<HTML>
<head>
<title>Welcome to CodeIgniter 3.X | Multiple Upload File</title>
</head>
<body>

<?php echo form_open_multipart('upload/do_upload_multi_2');?>

<h2>For Multiple Upload Codeigniter 3.X</h2>
<div style="border: 1px dotted #000;margin:10px 0;padding:10px;">
<input type="file" name="images[]" />
<input type="file" name="images[]"/>
<input type="file" name="images[]"/>
</div>

<br /><br />

<input type="submit" value="upload" name="upload" />

</form>

</body>
</HTML>

4. Tampilan image array setelah berhasil upload
Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X

5. Coba buka file controller anda dan upload beberapa gambar, jika berhasil image akan terupload ke dalam folder uploads seperti gambar dibawah ini.

Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X

untuk mengetahui file terupload atau tidak saya hanya menggunakan var_export(). Tapi jika anda ingin menampilkannya di dalam file view silahkan saja anda sesuaikan karena disini saya hanya menjelaskan cara penerapan library MY_Upload.php pada Codeigniter versi 2.X dan 3.X.

Jika anda merasa kesulitan dengan tips penerapannya silahkan tuliskan kesulitan anda di kotak komentar.

Selamat mencoba.

Posting Komentar untuk "Cara membuat multiple upload di Codeigniter versi 2.X dan 3.X"