Jquery AJax File Upload Codeigniter

dokumen-dokumen yang mirip
TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

Upload File dengan Metode AJAX

Pemrograman Web Berbasis Framework. Pertemuan 8 : Penanganan File dan Image. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

PHP File Upload.

Multiple Upload dengan Jumlah Dinamis Menggunakan Javascript dalam Framework CodeIgniter

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

E-trik Ajax. Database MySQL. Dedi Alnas

Menangani Input dari User

CodeIgniter.

Cara Sederhana Import Data dari Excel (CSV) ke MySQL dengan PHP

Membuat Grafik batang menggunakan HighChart dengan CI


Pengenalan JavaScript

BAB X AKSES DAN MANIPULASI DATA

Fungsi Insert Data dalam CRUD (CREATE READ UPDATE DELETE) di Codeigniter

AJAX dengan jquery Part 4

PRAKTIKUM. Rekayasa Web. Modul 2: CRUD CodeIgniter Part I. Laboratorium Teknik Informatika Universitas Pasundan

Tutorial jquery Ajax Bagian 2 (Input, Update, Delete, Animasi Loading)

Membuat Database mysql dengan PhpMyAdmin

MEMBUAT MASTER BERITA Teknik Informatika Sopingi, M.Kom

Muhammad Khoirul Hasin

Membuat Combobox Bertingkat dengan CakePHP

MODUL PRAKTIKUM SISTEM TERDISTRIBUSI

Persiapan. Jalankan server apache dari XAMPP control panel Ekstrak file yang telah dibagikan, Salin folder week_8 ke htdocs

LAMPIRAN. Lampiran 1 Wawancara dengan Bapak Thoriq Rachmat selaku Manager IT di PT. 1. Apakah perusahaan saat ini membutuhkan sistem server yang baru?

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

Membuat Polling Sederhana Dengan Ajax

Kinta mahadji

E-trik Ajax. Ajax dan MySQL. Dedi Alnas

Gambar 1. Tampilan form karyawan

AJAX dengan jquery Part 3

IMPLEMENTASI MVC PADA SITUS PORTAL PENCARIAN UNIVERSITAS DI DAERAH ISTIMEWA YOGYAKARTA. Rionaldi Sugiarto Katon Wijana, Wimmie Handiwidjojo

BERKENALAN DENGAN MODEL CODEIGNITER

SMH2D3 Web Programming. 7 BAB V PHP SESSION & COOKIES. H a l IDENTITAS. Kajian Teknik pemrograman menggunakan PHP

MODUL 8 Insert, Update, & delete

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

Yang perlu diperhatikan dalam membuat aplikasi di cmsid adalah sebagai berikut:

Membuat Plugin Wordpress Sederhana

Membuat Chatbox Sederhana dengan Ajax jquery dan PHP PDO

Framework untuk web yang dibuat dalam bentuk Web Berbasis Model-View-Controller (MVC)

Membuat Kalender Jadwal Dengan PHP, Mysql, dan Fullcalendar.js

Penanganan Formulir PHP. Pemrograman Web - Penanganan Formulir. Agi Putra Kharisma, ST., MT.

Dasar PHP-MySQL oleh : Prasaja Wikanta

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

CODEIGNITER 3. Belajar Mandiri. Zamah Sari

Membuat Form Kontak yang Indah dan Atraktif dengan AJAX [Part 5]

BAB 14 AJAX. Menyerupai J2EE, AJAX adalah 2 hal yang digabungkan : merupakan sebuah teknologi, sekaligus arsitektir pemrograman.

DAFTAR PUSTAKA. Adisasmita, Rahardjo Pengelolaan Pendapatan & Anggaran Daerah. Yogyakarta: Graha Ilmu.

Dropdown Berhubungan (Sync Dropdown) Dengan CI & MySQL

LAPORAN PRAKTIKUM TEKNOLOGI FRAMEWORK PERTEMUAN KE 1

Membuat Tanggal dengan Datepicker

Langkah 1 Struktur Folder. Langkah 2 Database. Detil Tutorial

FRAMEWORK CODEIGNITER

Pertemuan Ke-5 Client Side Scripting (JavaScript) S1 Teknik Informatika - Unijoyo 1

Membuat Web Chatting dengan Ajax Jquery, PHP, dan Bootstrap [Part 2]

Script PHP dan MySQL J A M K E E M P A T

E-Book PEMROGRAMAN CLIENT SERVER BERBASIS PHP DENGAN FRAMEWORK CODEIGNITER. Disusun Oleh: Arfian Hidayat, S.Kom

Modul Pelatihan Framework CodeIgniter

File dan Direktori PHP. Pemrograman Internet

MANAGEMENT, FORWARDING & AUTO RESPONDER

Oleh: Ahmad Syauqi Ahsan

Membuat Sistem Pertemanan Sederhana

BAB IV PENGUJIAN DAN ANALISIS

Lampiran Kode Program

By Desrizal. Pengenalan AJAX

Pemrograman Web Week 2. Team Teaching

Pemrograman Web Lanjut 2017

Pemrograman Internet dengan AJAX (Asynchronous JavaScript And XML)

DAFTAR PUSTAKA. Upton, D. (2007). CodeIgniter for Rapid PHP Application Development. Birmingham: Packt Publishing Ltd.

PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan

MODUL 11 MEMBUAT LOGIN USER

Pemrograman Web Berbasis Framework. Pertemuan 5 : Konsep MVC : View. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Modul-6 MySQL, Koneksi Database, dan Menampilkan Data

Modul 1 : Fungsi dalam PHP

TUTORIAL PHP MYSQL Langkah Tepat menjadi Web Developer Handal, menguasai PHP dan MySQL, jalan terbaik membuat website dan aplikasi berbasis web

Bab IV Prototipe Pengembangan dan Verifikasi

AJAX Tutorial. Contoh AJAX Dasar 1

Validasi Form dengan CakePHP

Pemrograman Web Berbasis Framework. Pertemuan 6 : Konsep MVC : Model. Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Conditional PRAKTIKUM PHP Conditional, Array & Perulangan di PHP

Modul-7 CRUD & Searching. Pemograman Web TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG

Mahasiswa memahami Pengertian, fungsi, aplikasi untuk menjalankan JavaScript, cara menjalankan kode, cara memasukkan kode JavaScript ke dalam HTML

Pertemuan 2. Muhadi Hariyanto

Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL Langkah 1: Membuat Tabel MySQL User/Pengguna

AJAX. Pemrograman Web. Rajif Agung Yunmar, S.Kom

Pemrograman Web Lanjut 2017

Mengembangkan Component Joomla Oleh : Garry B.

BAB II ANALISIS DAN PERANCANGAN. Sistem informasi penjualan dan pembelian Tissue SMART NARENA

BAB III PEMBAHASAN 3.1 Analisa Sistem

Membuat Online Messanger atau Chat dengan PHP, MySQL, JQuery, Bootsrtrap 3 dan Font Awesome 4 [Part 2]

Simak baik-baik komentar-komentar dalam setiap skrip. Komentar diawali dengan tanda #, //, atau /* dan */

2014 TUTORIAL PANADA FRAMEWORK BY DIMAS EDU

Pemrograman PHP Lanjut. Ahmad Zainudin, S.ST Pemrograman Internet

b) Membuat database tiket. Siapkan databasenya dengan membuat database tiket Sampai langkah ini database tiket sudah siap digunakan

Pemrograman Web Week 4. Team Teaching

BAB VIII PEMROSESAN FORM

Pengenalan Script. Definisi HTML

Oleh: Ahmad Syauqi Ahsan

Fungsi fungsi tambahan dalam PHP Session dan Cookie

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

Transkripsi:

Jquery AJax File Upload Codeigniter Oleh: Dimas Agung Noviyanto Pada tutorial kali ini, kita akan belajar membuat form upload file pada codeigniter dengan jquery ajax. Pertama, pastikan kalian mempunya file ajaxfileupload.js, dapat diunduh disini Selanjutnya siapkan file codeigniter dan tempatkan pada localhost masing-masing. Buat folder ajaxupload didalam folder h... Upload file dengan php mungkin suatu hal yang tidak terlalu menjadi momok "menyeramkan" untuk para programer website, namun jika kalian pernah coba membuat uploader file dengan codeigniter, hal ini dapat menjadi pengalaman yang menjengkelkan dan memusingkan. Pada tutorial ini, saya akan berbagi bagaimana membuat uploader dengan codeigniter dan ajax yang tidak hanya bekerja dengan optimal, namun tetap pada faedah MVC. Pertama, pastikan kalian mempunya Codeigniter, jquery, dan script AjaxFileUpload yang dapat kalian copy pada tutorial ini. Pada tutorial ini kalian diharapkan telah mengerti dan dapat menggunakan codeigniter dan jquery, jika belum silahkan pelajari kedua hal tersebut terlebih dahulu. Buat sebuah databse dan sebuah tabel dengan nama files. CREATE TABLE `files` ( `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY, `filename` varchar(255) NOT NULL, `title` varchar(100) NOT NULL ); Tahap 1 Buat form upload

Pertama, kita perlu membuat form upload sebagai interface untuk upload file, copy kode berikut dan simpan dengan nama upload.php <!doctype html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></s cript> <script src="<?php echo base_url()?>js/site.js"></script> <script src="<?php echo base_url()?>js/ajaxfileupload.js"></script> <link href="<?php echo base_url()?>css/style.css" rel="stylesheet" /> </head> <body> <h1>upload File</h1> <form method="post" action="" id="upload_file"> <label for="title">title</label> <input type="text" name="title" id="title" value="" /> <label for="userfile">file</label> <input type="file" name="userfile" id="userfile" size="20" /> <input type="submit" name="submit" id="submit" /> </form> <h2>files</h2> <div id="files"></div> </body> </html> Tahap 2 Buat controller Buat sebuah controller sebagai jembatan antara file view dan model, copy kode berikut, simpan dengan nama upload.php

class Upload extends CI_Controller public function construct() parent:: construct(); $this->load->model('files_model'); $this->load->database(); $this->load->helper('url'); public function index() $this->load->view('upload'); Tahap 3 Buat Custom Javascript Untuk menangani submit form pada view, kita buat sebuah file javascript yang nantinya akan digunakan untuk memproses inputan dari pengguna. Copy kode berikut dan simpan dengan nama site.js $(function() $('#upload_file').submit(function(e) e.preventdefault(); $.ajaxfileupload( url :'./upload/upload_file/', secureuri :false, fileelementid :'userfile', datatype : 'json', data : 'title' : $('#title').val(), success : function (data, status) if(data.status!= 'error') $('#files').html('<p>reloading files...</p>'); refresh_files(); $('#title').val(''); alert(data.msg); ); return false;

); ); Pada bagian ini kita membuat form handler dengan javascript pada sisi client server, dan mengirimkan konten data via ajax. Jika tidak terjadi error, kita refresh file list, clear title dan kita tampilkan alert respon. Tahap 4 Membuat fungsi untuk upload file Controller Untuk upload file, url yang akan digunakan adalah /upload/upload_file/, jadi kita harus membuat method baru di controller upload, copy code berikut dan tempatkan pada controller upload yang telah kita buat sebelumnya. public function upload_file() $status = ""; $msg = ""; $file_element_name = 'userfile'; if (empty($_post['title'])) $status = "error"; $msg = "Please enter a title"; if ($status!= "error") $config['upload_path'] = './files/'; $config['allowed_types'] = 'gif jpg png doc txt'; $config['max_size'] = 1024 * 8; $config['encrypt_name'] = TRUE; $this->load->library('upload', $config); if (!$this->upload->do_upload($file_element_name)) $status = 'error'; $msg = $this->upload->display_errors('', ''); else $data = $this->upload->data(); $file_id = $this->files_model->insert_file($data['file_name'], $_POST['title']); if($file_id) $status = "success";

$msg = "File successfully uploaded"; else unlink($data['full_path']); $status = "error"; $msg = "Something went wrong when saving the file, please try again."; @unlink($_files[$file_element_name]); echo json_encode(array('status' => $status, 'msg' => $msg)); Kita buat pengecekan sederhana untuk memastikan apakah inputan title berisi sebuah value atau tidak. Jika value title tidak kosong kita load librari upload bawaan codeigniter. Selanjutnya. kita coba upload file. Jika berhasil, kita simpan judul dan nama file ke dalam databse. Model Sesuai dengan konsep MVC, kita buat sebuah model untuk menangani fungsi-fungsi yang terkait dengan database. Copy kode berikut dan simpan dengan nama files_model.php class Files_Model extends CI_Model public function insert_file($filename, $title) $data = array( 'filename' => $filename, 'title' => $title ); $this->db->insert('files', $data); return $this->db->insert_id(); Folder Upload Selanjutnya kita buat folder untuk menampung file-file yang akan di upload pada folder web root kita dengan nama files, pastikan folder tersebut dapat diakses(writable) oleh server. Tahap 5 Buat Daftar file upload

Buka file site.js yang telah kita buat sebelumnya, kemuadian masukkan kode berikut: function refresh_files() $.get('./upload/files/').success(function (data) $('#files').html(data); ); fungsi ini akan memasukan data kedalam varibale file yang terdapat pada view untuk menampilkan daftar file yang diupload, kita harus memanggil fungsi ini pada awal ketika load halaman untuk menampilkan daftar file upload. Untuk itu kita harus menempatkan fungsi ini pada document.ready.function di bagian atas file. refresh_files(); Controller Untuk menampilkan daftar file upload, url yang akan digunakan adalah /upload/files/, jadi kita harus membuat method baru di controller upload, copy code berikut dan tempatkan pada controller upload yang telah kita buat sebelumnya. public function files() $files = $this->files_model->get_files(); $this->load->view('files', array('files' => $files)); Model Untuk retrieve data file upload dari database, kita buat fungsi get_files, masukkan kode berikut ke dalam files_model.php yang telah kita buat sebelumnya. public function get_files()

return $this->db->select() ->from('files') ->get() ->result(); View Kita perlu membuat view untuk menampilkan daftar file upload, buat file baru dengan nama files.php, dan paste kode berikut: <?php if (isset($files) && count($files))?> <ul> <?php foreach ($files as $file)?> <li class="image_wrap"> <a href="#" class="delete_file_link" data-file_id="<?php echo $file->id?>">delete</a> <strong><?php echo $file->title?></strong> <br /> <?php echo $file->filename?> </li> <?php?> </ul> </form> <?php else?> <p>no Files Uploaded</p> <?php?> Melalui view ini kita akan menampilkan judul dan nama file masing-masing. Kita juga menambahkan link untuk menghapus file, yang masing-masing memiliki atribut ID dari file yang tersimpan dalam database. Delete File Untuk dapat menghapus file yang telh kita upload, kita buat fungsi baru untuk menangani hal

tersebut. Javascript Copy dan masukkan kode berikut pada document.ready.function: $('.delete_file_link').live('click', function(e) e.preventdefault(); if (confirm('are you sure you want to delete this file?')) var link = $(this); $.ajax( url : './upload/delete_file/' + link.data('file_id'), datatype : 'json', success : function (data) files = $(#files); if (data.status === "success") link.parents('li').fadeout('fast', function() $(this).remove(); if (files.find('li').length == 0) files.html('<p>no Files Uploaded</p>'); ); else alert(data.msg); ); ); Ketika link delete di click, kita tampilkan dialog konfirmasi penghapusan. Jika konfirmasi ok maka kita panggil fungsi /upload/delete_file. Controller Seperti penjelasan diatas, url yang akan kita akses untuk menghapus file adalah /upload/delete_file, jadi kita buat fungsi delete_file, masukkan kode berikut pada controller upload. public function delete_file($file_id)

if ($this->files_model->delete_file($file_id)) $status = 'success'; $msg = 'File successfully deleted'; else $status = 'error'; $msg = 'Something went wrong when deleteing the file, please try again'; echo json_encode(array('status' => $status, 'msg' => $msg)); Model Buka files_model.php dan masukkan kode berikut: public function delete_file($file_id) $file = $this->get_file($file_id); if (!$this->db->where('id', $file_id)->delete('files')) return FALSE; unlink('./files/'. $file->filename); return TRUE; public function get_file($file_id) return $this->db->select() ->from('files') ->where('id', $file_id) ->get() ->row(); Karena kita hanya mengirimkan ID, kita perlu untuk mendapatkan nama file, jadi kita membuat metode baru untuk memuat file. Setelah dimuat, kita menghapus record dan menghapus file dari server. Selesai! Jika Anda menjalankannya, Anda harus dapat meng-upload file, melihatnya muncul, dan kemudian menghapusnya.

Tentang Penulis Dimas Agung Noviyanto