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
)