(PHP 4, PHP 5, PHP 7)
fgetcsv — Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür
$dt
[, int $uzunluk
[, string $ayraç
= ','
[, string $sınırlayıcı
= '"'
[, string $öncelem
= '\\'
]]]] )Satırı okuyup CSV biçemindeki alanları bir dizi içinde döndürmesi dışında fgets() işlevi gibidir.
dt
fopen(), popen()veya fsockopen() tarafından başarıyla açılmış geçerrli bir dosyanın tanıtıcısı.
uzunluk
CSV dosyasındaki en uzun satırdan (satırsonu karakterleri dahil) daha büyük bir değer içermelidir. PHP5'te isteğe bağlı hale gelmiştir. Bu değiştirgenin belirtilmemesi (veya PHP 5.0.4 ve sonrası için 0 belirtilmesi) durumunda azami satır uzunluğu sınırlanmaz fakat işlem yavaşlar.
ayraç
İsteğe bağlı bu değiştirge ile tek karakterlik alan ayracı belirtilir.
sınırlayıcı
İsteğe bağlı bu değiştirge ile tek karakterlik alan sınırlayıcı belirtilir.
escape
Önceleme karakteri belirtilir (tek bir karakter).
Okunan alanları içeren indisli bir dizi döner.
Bilginize:
CSV dosyasındaki boş bir satır tek bir null içeren bir dizi olarak döndürülür ve bir hata olarak ele alınmaz.
Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşırsanız, auto_detect_line_endings çalışma anı seçeneğini etkin kılarak bu sorunu çözebilirsiniz.
fgetcsv() işlevi, geçersiz dt
belirtilmişse NULL
, dosya sonuna gelindiğinde veya bir hata
oluştuğunda ise FALSE
döndürür.
Sürüm: | Açıklama |
---|---|
5.3.0 |
öncelem değiştirgesi eklendi.
|
4.3.5 | fgetcsv() işlevi dosyaları ikil kipte okur oldu. |
4.3.0 |
sınırlayıcı değiştirgesi eklendi.
|
Örnek 1 - Bir CSV dosyasının okunup basılması
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $row satırındaki $num alan: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
Bilginize:
Bu işlevde yerel ayarlar hesaba katılır. Eğer LANG, örneğin, tr_TR.UTF-8 ise ISO-8859-9 ile kodlanmış dosyaları bu işlev hatalı okuyacaktır.