Fungsi fgetcsv() PHP
Definisi dan penggunaan
Fungsi fgetcsv() membaca dan memproses bidang CSV dari penanda penulisan berkas.
Dengan fgets() Sejenis, tetapi berbeda, fgetcsv() mengurai baris yang di-baca dan mencari bidang format CSV, kemudian kembalikan sebuah array yang mengandung bidang-bidang ini.
fgetcsv() kembali FALSE saat terjadi kesalahan, termasuk saat menemui akhir berkas.
Komentar:Dari PHP 4.3.5, operasi fgetcsv() adalah aman dalam biner.
Syntaks
fgetcsv(file,length,separator,enclosure)
Parameter | Deskripsi |
---|---|
file | Wajib. Menentukan berkas yang akan dicek. |
length |
Pilihan. Menentukan panjang maksimal baris. Harus lebih besar daripada baris terpanjang di dalam berkas CVS. Pada PHP 5, parameter ini adalah pilihan. Pada PHP sebelum 5, ini wajib. Jika parameter ini diabaikan (diatur menjadi 0 dalam versi PHP 5.0.4 dan seterusnya), panjangnya tidak berbatasan, namun dapat mempengaruhi efisiensi eksekusi. |
separator | Pilihan. Tetapkan tanda pemisah field (hanya memungkinkan satu karakter), nilai defaultnya adalah koma. |
enclosure |
Pilihan. Tetapkan tanda penutup field (hanya memungkinkan satu karakter), nilai defaultnya adalah tanda kutip ganda. Parameter ini ditambahkan di PHP 4.3.0. |
Tips dan Komentar
Komentar:Baris kosong di berkas CSV akan dikembalikan dalam array yang berisi hanya satu field null, yang tidak dianggap kesalahan.
Komentar:Fungsi ini sensitif terhadap area setting. Misalnya, jika diatur LANG ke en_US.UTF-8, berkas pengodean satuan bit akan muncul kesalahan bacaan.
Komentar:Jika menghadapi PHP yang tidak dapat mengenali tanda akhir baris berkas Macintosh saat membaca berkas, dapat diaktifkan opsi konfigurasi runtime auto_detect_line_endings.
Contoh
Contoh 1
<?php $file = fopen("contacts.csv","r"); print_r(fgetcsv($file)); fclose($file); ?>
Berkas CSV:
George, John, Thomas, USA James, Adrew, Martin, USA
Output seperti:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA )
Contoh 2
<?php $file = fopen("contacts.csv","r"); while(! feof($file)) { print_r(fgetcsv($file)); } fclose($file); ?>
Berkas CSV:
George, John, Thomas, USA James, Adrew, Martin, USA
Output seperti:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA Array ( [0] => James [1] => Adrew [2] => Martin [3] => USA )