baca tulis file csv dengan php

4

Click here to load reader

Upload: achmad-solichin

Post on 18-Jun-2015

418 views

Category:

Documents


7 download

DESCRIPTION

PHP merupakan salah satu bahasa pemrograman yang mendukung penanganan file dengan cukup baik, termasuk file CSV. Bahkan mulai versi 4, PHP menambahkan fungsi khusus untuk penanganan file CSV, yaitu fgetcsv() untuk baca file CSV dan fputcsv() untuk membuat (menulis) file CSV. Dalam tutorial ini akan dibahas mengenai bagaimana baca tulis file CSV dengan menggunakan PHP

TRANSCRIPT

Page 1: Baca Tulis File CSV Dengan PHP

BacTutorial CSV atadimana baris repemisahtitik‐komsoftwareCalc. Spe PHP mebaik, terfile CSV,tutorial

Bentu Sebelumumum a Bentuk

a

)

Berdasamemilikparamet Berikut i $ha

mau $len

harumensesudeng

$dediba

$encfile C

$esc

ca Tudibuat oleh

u Comma‐Sesetiap data

ecord dipisahh (delimiter) ma (;) atau kae pengolah esifikasi dan

erupakan salrmasuk file C, yaitu fgetcsini akan diba

k Umum

m disajikan catau spesifika

umum file fg

array fgetcsv resource

[, int $le[, string $[, string $[, string $

)

rkan bentuki output beter pertama

ini penjelasandle. Merup

upun fsockopngth. Merupus lebih besanentukan pauai dengan bgan asumsi jlimiter. Para

aca. Nilai defclosure. ParCSV. Defaultcape. Param

lis FiAchmad Sol

eparated Va(field) dipisahkan dengakoma terkad

arakter <tabdata (spreapenjelasan

ah satu bahCSV. Bahkansv() untuk bahas mengen

Fungsi fge

contoh progasi dari fungs

getcsv()

( $handle

ength

$delimiter$enclosure$escape = '\

k umum di aterupa array harus disert

an masing‐mpakan pointepen(). akan jumlahar dari jumlaastinya, nambaris terpanumlah karak

ameter ini mfault dari parameter ini m

t‐nya adalah eter pilihan

le CSlichin (http:/

lue merupakahkan dengan baris bardang jenis fi

b>. Jenis file Cdsheet) sepmengenai fil

asa pemrog mulai versi aca file CSV nai bagaiman

etcsv() da

ramnya, adasi fgetcsv() d

= ','

= '"'

\' ]]]]

tas, fungsi fghasil pemb

takan, namun

asing paramer pembacaa

h atau panjaah karakter b

mun kita dapjang. Umum

kter tiap barimenentukan jrameter ini amenentukantanda kutip‐ini menentu

V den//achmatim.

kan suatu foan suatu pemu (line‐breale CSV juga CSV sendiri, erti Microsoe CSV dapat

raman yang 4, PHP mendan fputcsv

na baca tulis

an fputcsv

a baiknya kitdan fputcsv()

getcsv() yangbacaan file Cn parameter

eter tersebuan file, dapa

ang karakter baris yang papat memper

mnya parameis tidak lebihjenis pemisa

adalah koma karakter pe‐dua (“). kan karakter

Achma

ngan .net) pada ta

ormat penyajmisah koma ak). Selain mdapat dipisadapat dibaca

oft Excel dan ditemukan

mendukungnambahkan fv() untuk mes file CSV den

v()

ta pahami du.

g merupakanCSV. Fungsi r yang lainny

ut: at berupa h

pembacaanaling panjanrkirakannya eter ini cuku dari 1000 at

ah (delimiter(,).

engapit (enc

r escape yan

ad Solichin |

PHP anggal 09 M

jian data tek(,) dan setia

menggunakaahkan dengaa oleh semun OpenOfficdi Wikipedia

g penanganafungsi khusu

embuat (menngan menggu

ulu mengena

n fungsi pemmemiliki 5

a bersifat op

asil dari fun

n baris di fileg di file CSVtanpa harus

up diisi dengtau 1024 terr) field dalam

losure) untu

g digunakan

http://achm

aret 2010

ks p n n a e

a.

an file dengaus untuk pennulis) file CSVunakan PHP

ai bagaimana

bacaan file C5 parameterpsional (pilih

ngsi fopen(),

e CSV. ParamV. Memang as benar‐bengan 1000 at

rsebut. m file CSV ya

uk setiap fie

dalam file C

matim.net

an cukup nanganan V. Dalam .

a bentuk

CSV yang r dimana an).

popen()

meter ini agak sulit nar tepat tau 1024

ang akan

ld dalam

CSV.

1

Page 2: Baca Tulis File CSV Dengan PHP

Achmad Solichin | http://achmatim.net

2

Bentuk umum file fputcsv()

int fputcsv ( resource $handle ,

array $fields

[, string $delimiter = ','

[, string $enclosure = '"' ]] )

Dari bentuk umum di atas, terlihat bahwa fungsi fputcsv() memiliki 4 parameter dimana dua parameter pertama bersifat wajib. Fungsi ini memiliki return‐value berupa bilangan integer yang merupakan panjang data (string) yang berhasil dituliskan ke file CSV. Fungsi akan bernilai FALSE (‐1) jika gagal melakukan penulisan file. Mengenai penjelasan parameter fungsi, untuk $handle, $delimiter dan $enclosure sama seperti parameter pada fungsi fgetcsv(). Untuk parameter $fields dapat berisi array dari nilai data untuk setiap baris (record) yang akan ditambahkan ke file CSV.

Contoh Program Menulis ke File CSV Pada contoh program ini, kita akan membuat file CSV dengan nama “mahasiswa.csv” yang akan diisi dengan data mahasiswa. Untuk menyederhanakan contoh, data mahasiswa yang akan dituliskan hanya berisi 3 (tiga) field yaitu “nim”, “nama” dan “nilai”. Masing‐masing field akan dipisahkan dengan delimiter koma (,). Pengisian data dilakukan melalui sebuah form dimana saat tombol simpan ditekan, maka program akan menambahkan datanya ke file “mahasiswa.csv”. Nama File: tulis_csv_mahasiswa.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

<html> <head><title>Input Nilai Mahasiswa (Demo Menulis File CSV) </title> </head> <body> <h1>Input Nilai Mahasiswa</h1> <form action="" method="post"> NIM : <input type="text" name="nim" maxlength="10"/><br/> NAMA : <input type="text" name="nama" size="30"/><br/> NILAI : <input type="text" name="nilai" size="5"/><br/> <input type="submit" name="Simpan" value="Simpan"/> <input type="reset" name="Reset" value="Reset"/> </form> <?php if (isset($_POST['Simpan'])) { //ambil data $nim = $_POST['nim']; $nama = $_POST['nama']; $nilai = $_POST['nilai']; $arrdata = array($nim, $nama, $nilai); $fp = fopen('mahasiswa.csv', 'a+'); $tulis = fputcsv($fp, $arrdata); if ($tulis) { echo "<h2>Data berhasil disimpan</h2>"; } else { echo "<h2>Data gagal disimpan</h2>";

Page 3: Baca Tulis File CSV Dengan PHP

Achmad Solichin | http://achmatim.net

3

31 32 33 34 35 36 37 38 39 40

} echo "<p><a href='baca_csv_mahasiswa.php'>Lihat isi file CSV</a> | "; echo "<a href='mahasiswa.csv'>Download file CSV</a></p>"; fclose($fp); } ?> </body> </html>

Contoh Program Membaca File CSV Contoh program ini akan mendemonstrasikan bagaimana pembacaan file CSV. Program akan membaca file “mahasiswa.csv” yang sudah diisi dengan program sebelumnya dan akan menampilkannya di sebuah tabel. Nama File: baca_csv_mahasiswa.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

<html> <head><title>Daftar Nilai Mahasiswa (Demo Baca File CSV)</title> </head> <body> <h1>Daftar Nilai Mahasiswa</h1> <table width="100%" border="1"> <tr> <th>NO</th> <th>NIM</th> <th>NAMA</th> <th>NILAI</th> </tr> <?php if (($handle = fopen("mahasiswa.csv", "r")) !== FALSE) { $row = 1; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { echo "<tr>"; echo "<td>".$row++."</td>"; echo "<td>".$data[0]."</td>"; echo "<td>".$data[1]."</td>"; echo "<td>".$data[2]."</td>"; echo "</tr>"; } //end while fclose($handle); } //end if ?> </table> <p><a href="tulis_csv_mahasiswa.php">Input Nilai Mahasiswa</a></p> </body> </html>

Page 4: Baca Tulis File CSV Dengan PHP

Achmad Solichin | http://achmatim.net

4

Demo dan Download Contoh Program • Demo Program baca tulis CSV dengan PHP dapat dilihat di http://bit.ly/PHPBacaTulisCSV • Download Contoh Program di http://achmatim.net/download/22

Kesimpulan Proses baca tulis file CSV di PHP ternyata cukup mudah karena memang sudah tersedia fungsi yang diperlukan. Tutorial ini hanya menjelaskan mengenai proses baca tulis file CSV secara sederhana, namun selanjutnya dapat dikembangkan menjadi aplikasi yang lebih kompleks, misalnya membaca file dari database kemudian menuliskannya ke dalam file CSV. Selamat mencoba dan maju terus ilmu pengetahuan Indonesia!

‐oOo‐

Tentang Penulis

Achmad Solichin. Adalah Lulusan Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur, Jakarta (S1, 2005). Saat ini sedang menempuh pendidikan S2 di Magister Teknologi Informasi Universitas Indonesia (2008). Kegiatan sehari‐hari adalah sebagai Dosen di Universitas Budi Luhur (http://www.bl.ac.id). Kegiatan lain aktif sebagai programmer, web developer, system analyst dan memberikan pelatihan di berbagai bidang komputer serta membuat tutorial‐tutorial praktis di bidang komputer. Penulis memiliki situs utama di http://achmatim.net yang berisi berbagai tutorial praktis di bidang

komputer serta menyediakan buku gratis komputer. Penulis dapat dihubungi melalui email di [email protected], YM achmatim, Facebook achmatim dan Twitter achmatim.

Lisensi Dokumen Seluruh isi dalam dokumen ini dapat digunakan, dimodifikasi dan disebarluaskan secara bebas untuk tujuan pendidikan, pembelajaran dan bukan komersial (non profit), dengan syarat tidak menghilangkan, menghapus atau mengubah atribut penulis dokumen ini dan pernyataan dalam lisensi dokumen yang disertakan di setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang atau mengkomersialkan tutorial ini kecuali mendapatkan ijin terlebih dahulu dari penulis.