Membuat Upload File Dengan CodeIgniter

saya membuat controller baru dengan nama upload.php
application/controller/upload.php
<?php 
class Upload extends CI_Controller{
 function __construct(){
  parent::__construct();
    $this->load->helper(array('form', 'url'));
 }
 public function index(){
  $this->load->view('v_upload', array('error' => ' ' ));
 }
 public function aksi_upload(){
  $config['upload_path']          = './gambar/';
  $config['allowed_types']        = 'gif|jpg|png';
  $config['max_size']             = 100;
  $config['max_width']            = 1024;
  $config['max_height']           = 768;
  $this->load->library('upload', $config);
  if ( ! $this->upload->do_upload('berkas')){
   $error = array('error' => $this->upload->display_errors());
   $this->load->view('v_upload', $error);
  }else{
   $data = array('upload_data' => $this->upload->data());
   $this->load->view('v_upload_sukses', $data);
  }
 }
 }
kita panggil dulu helper url dan helper form untuk membantu kita membuat upload file di codeigniter. helper form dan url nya saya panggil di function construct().
function __construct(){
  parent::__construct();
    $this->load->helper(array('form', 'url'));
 }
dan kemudian pada view index nya saya tampilkan sebuah view v_upload, pada view v_upload ini untuk membuat form upload nya.
public function index(){
 $this->load->view('v_upload', array('error' => ' ' ));
}
buat sebuah view dengan nama v_upload sesuai dengan yang kita panggil pada method index.
<html>
<head>
 <title>Belar Upload Codeigniter</title>
</head>
<body>
 <center><h1>Membuat Upload File Dengan CodeIgniter</h1></center>
 <?php echo $error;?>
 <?php echo form_open_multipart('upload/aksi_upload');?>
 <input type="file" name="berkas" />
 <br /><br />
 <input type="submit" value="upload" />
</form>
</body>
</html>
pada form upload di atas kita menggunakan function form_open_multipart(), function form_open_multipart() ini sama dengan

<form action="" enctype="multipart/form-data">
dan pada form nya kita beri nama “berkas”. dan kemudian aksi dar form tersebut kita arahkan ke method aksi_upload pada controller upload.
public function aksi_upload(){
  $config['upload_path']          = './gambar/';
  $config['allowed_types']        = 'gif|jpg|png';
  $config['max_size']             = 100;
  $config['max_width']            = 1024;
  $config['max_height']           = 768;

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

  if ( ! $this->upload->do_upload('berkas')){
   $error = array('error' => $this->upload->display_errors());
   $this->load->view('v_upload', $error);
  }else{
   $data = array('upload_data' => $this->upload->data());
   $this->load->view('v_upload_sukses', $data);
  }
 }
nah dan yang paling penting ada di method aksi_upload ini. method ini akan kita jadikan sebagai pengatur dari proses upload file. terdapat variabel config dia atas, variabel ini berfungsi sebagai pengaturan upload file pada codeigniter. contohnya seperti di atas.
  $config['upload_path']          = './gambar/';
  $config['allowed_types']        = 'gif|jpg|png';
  $config['max_size']             = 100;
  $config['max_width']            = 1024;
  $config['max_height']           = 768;
$config[‘upload_path’] berfungsi untuk pengaturan kemana file akan di upload. di sini saya menetapkannya kedalam folder ‘gambar’ dalam directory root codeigniter. oleh karena itu kita buat dulu foldernya.

kemudian lagi untuk membatasi ukuran file dan ekstensi file yang di perbolehkan untuk di upload bisa di setting pada
  $config['allowed_types']        = 'gif|jpg|png'; // file yang di perbolehkan
  $config['max_size']             = 100; // maksimal ukuran
  $config['max_width']            = 1024; //lebar maksimal
  $config['max_height']           = 768; //tinggi maksimal
setelah selesai membuat folder sebagai lokasi gambar yang di upload selanjutnya perhatikan syntax selanjutnya pada method aksi_upload.
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('berkas')){
 $error = array('error' => $this->upload->display_errors());
 $this->load->view('v_upload', $error);
}else{
 $data = array('upload_data' => $this->upload->data());
 $this->load->view('v_upload_sukses', $data);
}

$this->load->library(‘upload’,$config) berfungsi untuk memanggil library upload codeigniter dengan menggunaan pengaturan yang sudah di buat tadi pada variabel $config. dan $this->upload->do_upload() berfungsi untuk melakukan aksi upload. di dalam parameternya berikan nama file upload tadi yang kita buat dengan nama ‘berkas’. dan kemudian dilakukan pengecekan, jika file tidak berhasil di upload atau karena file yang di upload tidak sesuai dengan pengaturan yang sudah kita buat maka pesan error kita masukkan dalam variabel $error dan parsing ke view v_upload untuk di tampikan pesan errornya.
$error = array('error' => $this->upload->display_errors());
$this->load->view('v_upload', $error);
dan jika file berhasil di upload maka data file yang di upload kita masukkan kedalam variabel $data untuk kita parsing ke view v_upload_sukses.php.
application/view/v_upload_sukses
<html>
<head>
 <title>Belajar Upload Codeigniter<</title>
</head>
<body>
 <center><h1>Membuat Upload File Dengan CodeIgniter </h1></center>
 <ul>
  <?php foreach ($upload_data as $item => $value):?>
   <li><?php echo $item;?>: <?php echo $value;?></li>
  <?php endforeach; ?>
 </ul> 
</body>
</html>
sekarang waktu nya untuk mencoba apakah berhasil atau tidak.



Berikan Komentar yang bermanfaat dan sehat.

Posting Komentar (0)
Lebih baru Lebih lama