Bac Tulis File CSV den ca ngan PHP

Tutorial dibuat oleh Achmad Sol lichin (http:/ //achmatim. .net) pada ta anggal 09 Maret 2010 CSV atau Comma‐Se eparated Value merupak suatu fo kan ormat penyaj jian data tek ks dimana setiap data (field) dipisa ahkan denga suatu pem an misah koma (,) dan setiap baris re ecord dipisah hkan dengan baris baru (line‐brea ak). Selain m menggunakan pemisah (delimiter) koma terkad h dang jenis file CSV juga dapat dipisa ahkan dengan titik‐kom (;) atau ka ma arakter <tab Jenis file C sendiri, dapat dibaca oleh semua b>. CSV a software pengolah data (spreadsheet) seperti Microso Excel dan OpenOffice e oft n Calc. Spe esifikasi dan penjelasan mengenai file CSV dapat ditemukan di Wikipedia a. erupakan salah satu bahasa pemrograman yang mendukung penangana file denga cukup g an an PHP me baik, ter rmasuk file C CSV. Bahkan mulai versi 4, PHP men nambahkan f fungsi khusu untuk pen us nanganan file CSV, yaitu fgetcs untuk baca file CSV dan fputcsv untuk me , sv() v() embuat (men nulis) file CSV Dalam V. tutorial ini akan diba ahas mengen bagaiman baca tulis file CSV den nai na s ngan menggu unakan PHP.

Bentuk Umum Fungsi fge etcsv() da fputcsv an v()
Sebelum disajikan c m contoh programnya, ada baiknya kit pahami du mengena bagaimana bentuk a ta ulu ai a umum a atau spesifika dari fungs fgetcsv() d fputcsv(). asi si dan getcsv() Bentuk umum file fg
array fgetcsv ( a resource $handle [, int

)

$le ength $delimiter = ',' $ [, string $ $enclosure = '"' [, string $ $escape = '\\' ]]]]
[, string

Berdasarkan bentuk umum di at fungsi fg k tas, getcsv() yang merupakan fungsi pembacaan file CSV yang g n C memiliki output be erupa array hasil pemb bacaan file CSV. Fungsi memiliki 5 parameter dimana C r paramet pertama harus disert ter takan, namun parameter yang lainnya bersifat op n r psional (pilihan). Berikut i penjelasa masing‐masing parameter tersebu ini an ut: $handle. Merup pakan pointe pembacaa file, dapa berupa hasil dari fun fopen(), popen() er an at ngsi mau upun fsockop pen(). $len ngth. Merupakan jumlah atau panja karakter pembacaan baris di file CSV. Param h ang n e meter ini haru lebih besa dari jumla karakter b us ar ah baris yang pa aling panjang di file CSV Memang agak sulit V. a men nentukan pa astinya, nam mun kita dap memper pat rkirakannya tanpa harus benar‐ben tepat s nar sesu dengan b uai baris terpanjang. Umum mnya parame eter ini cuku diisi deng 1000 at 1024 up gan tau deng asumsi jumlah karak tiap bari tidak lebih dari 1000 at 1024 ter gan kter is tau rsebut. $delimiter. Para ameter ini m menentukan j jenis pemisa (delimiter field dalam file CSV ya akan ah r) m ang diba Nilai def aca. fault dari par rameter ini a adalah koma (,). $enc closure. Parameter ini m menentukan karakter pe engapit (enclosure) untu setiap field dalam uk file C CSV. Default t‐nya adalah tanda kutip‐ ‐dua (“). $esc cape. Parameter pilihan ini menentukan karakter escape yang digunakan dalam file CSV. r C

1

Achma Solichin | http://achm ad matim.net

2 Achmad Solichin | http://achmatim. if ($tulis) { echo "<h2>Data berhasil disimpan</h2>". string $delimiter = '. Pengisian data dilakukan melalui sebuah form dimana saat tombol simpan ditekan. Untuk menyederhanakan contoh. Fungsi akan bernilai FALSE (‐1) jika gagal melakukan penulisan file. Contoh Program Menulis ke File CSV Pada contoh program ini.' [. Fungsi ini memiliki return‐value berupa bilangan integer yang merupakan panjang data (string) yang berhasil dituliskan ke file CSV.csv”.csv” yang akan diisi dengan data mahasiswa. terlihat bahwa fungsi fputcsv() memiliki 4 parameter dimana dua parameter pertama bersifat wajib. $delimiter dan $enclosure sama seperti parameter pada fungsi fgetcsv().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.Bentuk umum file fputcsv() int fputcsv ( resource array ) $handle . $fp = fopen('mahasiswa. $fields [. $nilai = $_POST['nilai']. Mengenai penjelasan parameter fungsi. $nilai). Untuk parameter $fields dapat berisi array dari nilai data untuk setiap baris (record) yang akan ditambahkan ke file CSV. maka program akan menambahkan datanya ke file “mahasiswa. $arrdata).net . $nama = $_POST['nama']. data mahasiswa yang akan dituliskan hanya berisi 3 (tiga) field yaitu “nim”. $arrdata = array($nim. string $enclosure = '"' ]] Dari bentuk umum di atas. } else { echo "<h2>Data gagal disimpan</h2>". 'a+'). kita akan membuat file CSV dengan nama “mahasiswa.csv'. Nama File: tulis_csv_mahasiswa. “nama” dan “nilai”. $tulis = fputcsv($fp.). untuk $handle. Masing‐masing field akan dipisahkan dengan delimiter koma (.

$data[2]."</td>".$row++.$data[1]. echo "<td>". </body> </html> Contoh Program Membaca File CSV Contoh program ini akan mendemonstrasikan bagaimana pembacaan file CSV."</td>".php'>Lihat isi file CSV</a> | echo "<a href='mahasiswa."</td>". while (($data = fgetcsv($handle.csv” yang sudah diisi dengan program sebelumnya dan akan menampilkannya di sebuah tabel. Nama File: baca_csv_mahasiswa."</td>".csv". echo "</tr>". ". 1000. echo "<td>". } ?> } echo "<p><a href='baca_csv_mahasiswa. "r")) !== FALSE) { $row = 1. echo "<td>".csv'>Download file CSV</a></p>". Program akan membaca file “mahasiswa. } //end while fclose($handle).31 32 33 34 35 36 37 38 39 40 ".net .$data[0].php">Input Nilai Mahasiswa</a></p> </body> </html> 3 Achmad Solichin | http://achmatim.")) !== FALSE) { echo "<tr>". echo "<td>". } //end if ?> </table> <p><a href="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 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. fclose($fp).

ac. Kegiatan lain aktif sebagai programmer. system analyst dan memberikan pelatihan di berbagai bidang komputer serta membuat tutorial‐tutorial praktis di bidang komputer. Fakultas Teknologi Informasi. misalnya membaca file dari database kemudian menuliskannya ke dalam file CSV. YM achmatim.Demo dan Download Contoh Program • • Demo Program baca tulis CSV dengan PHP dapat dilihat di http://bit.net . Tutorial ini hanya menjelaskan mengenai proses baca tulis file CSV secara sederhana.com. dengan syarat tidak menghilangkan. pembelajaran dan bukan komersial (non profit). Selamat mencoba dan maju terus ilmu pengetahuan Indonesia! ‐oOo‐ Tentang Penulis Achmad Solichin.net yang berisi berbagai tutorial praktis di bidang komputer serta menyediakan buku gratis komputer.id). Adalah Lulusan Teknik Informatika.net/download/22 Kesimpulan Proses baca tulis file CSV di PHP ternyata cukup mudah karena memang sudah tersedia fungsi yang diperlukan. Jakarta (S1. dimodifikasi dan disebarluaskan secara bebas untuk tujuan pendidikan. 4 Achmad Solichin | http://achmatim. Saat ini sedang menempuh pendidikan S2 di Magister Teknologi Informasi Universitas Indonesia (2008). namun selanjutnya dapat dikembangkan menjadi aplikasi yang lebih kompleks. menghapus atau mengubah atribut penulis dokumen ini dan pernyataan dalam lisensi dokumen yang disertakan di setiap dokumen. 2005). web developer. Facebook achmatim dan Twitter achmatim. Kegiatan sehari‐hari adalah sebagai Dosen di Universitas Budi Luhur (http://www. Lisensi Dokumen Seluruh isi dalam dokumen ini dapat digunakan. Universitas Budi Luhur.ly/PHPBacaTulisCSV Download Contoh Program di http://achmatim. Penulis memiliki situs utama di http://achmatim. Penulis dapat dihubungi melalui email di achmatim@gmail. Tidak diperbolehkan melakukan penulisan ulang atau mengkomersialkan tutorial ini kecuali mendapatkan ijin terlebih dahulu dari penulis.bl.

Sign up to vote on this title
UsefulNot useful