fgetcsv

(PHP 4, PHP 5, PHP 7)

fgetcsvDosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür

Açıklama

fgetcsv ( resource $dt [, int $uzunluk [, string $ayraç = ',' [, string $sınırlayıcı = '"' [, string $öncelem = '\\' ]]]] ) : array

Satırı okuyup CSV biçemindeki alanları bir dizi içinde döndürmesi dışında fgets() işlevi gibidir.

Değiştirgeler

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).

Dönen Değerler

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 Bilgisi

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.

Örnekler

Örnek 1 - Bir CSV dosyasının okunup basılması

<?php
$row 
1;
if ((
$handle fopen("test.csv""r")) !== FALSE) {
    while ((
$data fgetcsv($handle1000",")) !== 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);
 }
?>

Notlar

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.

Ayrıca Bakınız

  • str_getcsv() - Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır
  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • pack() - Veriyi bir ikil dizge halinde paketler
  • fputcsv() - Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar