CodeIgniter

Belajar CodeIgniter Part 6: Cara Membuat Upload File Dengan CodeIgniter

Selamat datang. Salam jumpa kembali di pertemuan yang ke-6 dalam sesi belajar CodeIgniter. Sebelumnya kita pernah membahas Cara Membuat Form Validation Pada CodeIgniter. Pada pertemuan yang ke-6 saya akan mengulas tentang Cara Membuat Upload file Dengan CodeIgniter.

CodeIgniter sendiri telah menyediakan library untuk membuat upload file yang bisa kita buat dengan mudah. Kita dapat menggunakan library upload, helper form dan helper url untuk bantuan membuat file upload.

Baik. Langsung saja masuk ke langkah – langkahnya.


Tutorial Membuat Upload File Dengan CodeIgniter

Sebelum memulai, sediakan form pada view dan buat juga sebuah controller. Dalam sesi ini kita tidak menggabungkan semua controllersnya. Jadi, setiap satu tutorial saya pisah – pisah ini bertujuan untuk mempermudah teman – teman yang baru memahami syntax dan agar tidak tercampur.

Saya sudah menulis kode program untuk sebuah controller, dan diberi nama upload.php

Simpan pada /application/controllers/upload.php

<?php 

class Upload extends CI_Controller{

	function __construct(){
		parent::__construct();
		  $this->load->helper(array('form', 'url'));
	}

	public function index(){
		$this->load->view('view_upload', array('error' => ' ' ));
	}

	public function aksi_upload(){
		$config['upload_path']          = './file_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('view_upload', $error);
		}else{
			$data = array('upload_data' => $this->upload->data());
			$this->load->view('view_upload_berhasil', $data);
		}
	}
	
}

Nah diatas kita memanggil helper terlebih dahulu, helper yang kita panggil adalah helper url dan helper form.

Kita panggil pada bagian function construct()

function __construct(){
	parent::__construct();
	$this->load->helper(array('form', 'url'));
}

Kemudian untuk view index, kita tampilkan sebuah view “view_upload“, pada view tersebut inilah untuk membuat form uploadnya.

public function index(){
	$this->load->view('view_upload', array('error' => ' ' ));
}

Selanjutnya buat view baru. Disini saya memberi nama view_upload.

<html>
<head>
	<title>IRVAN GEN</title>
</head>
<body>
	<center><h1>Cara Membuat Upload File Dengan CodeIgniter | CODE GEEK | IRVAN GEN</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>

Nah bisa teman – teman perhatikan kembali, diatas kita menggunakan function form_open_multipart(), function ini sama dengan.

<form action="" enctype="multipart/form-data">

Pada form tersebut kita beri nama berkas kemudian aksi dari form tersebut kita arahkan ke method aksi_upload di controller upload.php

public function aksi_upload(){
	$config['upload_path']          = './file_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('view_upload', $error);
	}else{
		$data = array('upload_data' => $this->upload->data());
		$this->load->view('view_upload_berhasil', $data);
	}
}

Yang paling penting itu ada pada method aksi_upload ini. Method ini kita jadikan sebagai pengatur dari proses upload.

Terdapat variabel config diatas, variabel ini berfungsi sebagai pengaturan upload file CodeIgniter. Contohnya seperti diatas.

$config['upload_path']          = './file_gambar/';
$config['allowed_types']        = 'gif|jpg|png';
$config['max_size']             = 100;
$config['max_width']            = 1024;
$config['max_height']           = 768;

$config[‘upload_path’] ini berfungsi untuk pengaturan kemana file ini akan diupload, misalnya, saya upload file jenis gambar, nah gambar ini akan kita simpan pada folder yang sudah ditentukan.

Disini saya menetapkan kedalam folder file_gambar dalam directory root CodeIgniter. Tentunya ini belum ada, maka dari itu kita harus membuat foldernya terlebih dahulu agar bisa bekerja dengan baik.

Dibawah ini kita membuat perintah untuk membatasi ukuran file yang diperbolehkan untuk diupload. Kamu bisa sesuaikan pada bagian ini.

$config['allowed_types']        = 'gif|jpg|png'; // file yang di perbolehkan untuk diupload
$config['max_size']             = 100; // maksimal ukuran
$config['max_width']            = 1024; //lebar maksimal
$config['max_height']           = 768; //tinggi maksimal

Perhtikan kembali untuk syntax method aksi_upload.

$this->load->library(‘upload’, $config); berfungsi untuk memanggil library upload dengan menggunakan pengaturan yang sudah kita buat pada variabel $config.

$this->upload->do_upload berfungsi untuk melakukan aksi upload. Didalam parameternya kita beri nama berkas. 

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

if ( ! $this->upload->do_upload('berkas')){
	$error = array('error' => $this->upload->display_errors());
	$this->load->view('view_upload', $error);
}else{
	$data = array('upload_data' => $this->upload->data());
	$this->load->view('view_upload_berhasil', $data);
}

Kemudian dilakukan pengecekan, jika file tidak berhasil diupload atau karena file tidak sesuai aturan yang sudah kita tentukan, maka pesan error akan muncul. Itu karena dimasukan ke variabel $error dan pharsing ke view_upload.

$error = array('error' => $this->upload->display_errors());
$this->load->view('view_upload', $error);

Tapi, jika file berhasil diupload. Maka file yang kita upload akan dimasukan kedalam variabel $data untuk di pharsing ke view “view_upload_berhasil.php

Nah disini teman – teman perlu membuat view baru. Beri nama view_upload_berhasil.php

Letakkan pada application/controllers/view_upload_berhasil

<html>
<head>
	<title>IRVAN GEN<</title>
</head>
<body>

	<center><h1>Cara Membuat Upload File Dengan CodeIgniter | CODE GEEK | IRVAN GEN</h1></center>

	<ul>
		<?php foreach ($upload_data as $item => $value):?>
			<li><?php echo $item;?>: <?php echo $value;?></li>
		<?php endforeach; ?>
	</ul>	

</body>
</html>

Langkah – langkah terakhir dari tutorial ini. Waktunya untuk kita coba

Buka xampp masing – masing, kemudian ketikkan url http://localhost/nama_folder/index.php/upload.

http://localhost/irvan_gen/index.php/upload
Cara Membuat Upload File Dengan CodeIgniter - #IRVANGEN
Cara Membuat Upload File Dengan CodeIgniter – #IRVANGEN

File berhasil diupload

Tersimpan sesuai dengan aturan yang sudah kita tentukan.

Bagaimana mudah bukan membuat file upload yang dibantu dengan library CodeIgniter.


Penutup

Mungkin itu saja yang dapat saya sampaikan di pertemuan ini tentang Tutorial Membuat Upload File Dengan CodeIgniter. Jika kurang mengerti atau salah dalam penulisan maupun penyampaian, silahkan diskusikan di form komentar, semoga apa yang sudah kita pelajari dapat bermanfaat bagi kita semua.

Terimakasih.


Income Search

  • upload gambar codeigniter
  • cara upload file ke database dengan codeigniter
  • cara upload gambar di codeigniter
  • upload file dengan codeigniter
  • upload file codeigniter
  • cara upload foto di ci
  • upload gambar dengan CI
  • upload foto codeigniter
  • cara upload file di codeigniter
Written by Irvan Nurfazri
No one can bring you true happiness except Allah. Founder Hobigame.id Instagram : ig.com/irvan_gen Profile

Leave a Reply

Your email address will not be published. Required fields are marked *