Membaca file csv dengan php

Membaca file csv dengan php

CSV adalah jenis file yang sering digunakan untuk menyimpan data berupa huruf dan angka dalam bentuk plain-text. CSV (comma separated values) ini menyimpan dengan susunan baris data yang dipisah dengan karakter koma dan disimpan dalam ekstensi .csv. File csv ini sering digunakan untuk menyimpan data dalam bentuk tabel yang terdiri dari kolom dan baris. CSV ini juga sangat fleksibel sehingga bisa dengan mudah dibaca ataupun ditulis dengan aplikasi/sistem lain. Bagaimana membaca file csv ini dengan php?

File csv ini bisa dibuat dengan cara manual dengan notepad/editor text atau dengan bantuan aplikasi tabular seperti excel. Isi file csv ini jika kita lihat dengan excel disajikan dalam bentuk kolom-kolom data seperti berikut :

csv dalam excel

dan jika kita buka dengan notepad akan terlihat seperti ini :

csv dalam notepad

Jika dilihat pada gambar diatas maka terlihat bahwa data yang tersimpan terdiri dari baris-baris data dengan kolom yang dipisah dengan tanda titik koma, bisa juga tiap kolom dipisah dengan tanda koma tapi cara kerjanya sama.

Sekarang sudah kita ketahui format data yang tersimpan dalam csv, kita lanjutkan cara membacanya dengan php.

Contoh isi file csv yang akan dibaca adalah file-csv.csv dengan isi :

KODE;NAMA;JUMLAH
1;BAJU KAOS;10
2;KAOS KAKI;12
3;SENDAL JEPIT;10

Cara membaca file diatas :

<?php
    $namafile="file-csv.csv";
    $pemisah=";";
    $datacsv = fopen($namafile, "r");
    while (($data = fgetcsv($datacsv, 1000, $pemisah)) !== FALSE)
    {
        echo $data[0]." - ".$data[1]." - ".$data[2]."</br>";
    }
    fclose($datacsv);
?>

Jika kita lihat kode diatas cara membacanya cukup sederhana dengan fungsi php fopen dengan mode "r" read, menudian dipindah dalam array dengan diberi nama $data dengan fungsi fgetcsv. Hasil php diatas jika dijalankan akan menghasilkan  seperti gambar berikut :

cara baca csv dengan php

Jika masih bingung, silahkan coba download contoh kode php berikut : Download contoh baca csv

Upload dan baca file csv dengan php

Contoh diatas dengan kondisi file csv berada dalam satu folder phpnya. Bagaimana kalau file csv-nya diupload?

Dengan sedikit perubahan kita bisa lakukan hal yang sama pada kasus file csv yang diupload. Caranya :

Pertama buat form seperti berikut :

upload csv dengan php

dengan kode perintah html :

<form action="" method="post" enctype="multipart/form-data" name="ContohUploadCSV" id="ContohUploadCSV">
  <p>Pilih file csv
    <input type="file" name="filecsv" id="filecsv" />
</p>
  <p>
    <input type="submit" name="button" id="button" value="Kirim" />
</p>
</form>

action pada form sengaja dikosongkan yang artinya form diatas akan diproses pada file yang sama. Kemudian kita tambahkan perintah untuk memproses file csv dengan kode berikut :

<?php
if (!empty($_FILES["filecsv"]["tmp_name"]))
{
    $namafile = $_FILES['filecsv']['tmp_name'];
    $pemisah=";";
    $datacsv = fopen($namafile, "r");
    while (($data = fgetcsv($datacsv, 1000, $pemisah)) !== FALSE)
    {
        $jml++;
        echo $data[0]." - ".$data[1]." - ".$data[2]."</br>";
    }
    fclose($datacsv);   
    echo "<SCRIPT>alert('".$jml." baris data berhasil dibaca');</SCRIPT>";
}
?>

Hanya sedikit bagian yang berubah, yang semula file csv dengan menyebutkan nama filenya, sekarang diubah menjadi bersumber dari fille yang diupload.

Silahkan download contoh lengkapnya berikut : Download contoh upload dan baca csv

Semoga bermanfaat

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Artikel Lainnya

  • Menyimpan data dalam banyak tabel bersamaan
    Jika anda membuat aplikasi php dan mysql yang menggunakan beberapa tabel database mungkin akan menemui proses menyimpan data ke dalam banyak tabel secara bersamaan dalam satu proses. Contoh sederhana membuat aplikasi php penjualan yang dalam prosesnya menyimpan data dalam tabel transaksi dan sub transaksi.
  • Menghitung umur dengan php
    Menghitung umur dengan php. Sering kali jika kita membuat aplikasi web dengan php yang berhubungan dengan data personal seperti karyawan, siswa, mahasiswa, dan pasien kita ingin menampilkan informasi umur yang dihitung dari tanggal lahirnya. Berikut ini contoh kode singkat cara melakukan perhitungan umur dengan php.
  • Upload banyak file dengan php
    Beberapa waktu lalu saya sempat menulis tentang bagaimana membuat form serta script upload file dengan php, tapi masih dengan cara melampirkan satu file saja. Berikut ini saya akan berbagi lagi tentang bagaimana jika yang di upload terdiri dari beberapa file dan judul yang dikirim secara bersamaan dengan php.
  • Membaca file dengan php
    Dengan php kita bisa melakukan operasi terhadap file yang berada dalam server. Operasi file yang bisa dilakukan diantaranya adalah membaca file.
  • Membuat upload video dengan php
    Secara teknik dasar membuat form upload untuk video tidak berbeda dengan cara membuat form upload gambar yang sudah saya tulis pada tutorial sebelumnya. Hanya berbeda pada bagian proses menangani file yang diupload ke server.

Kiriman terbaru