fgetcsv

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Açıklama

fgetcsv(
    resource$akım,
    ?int$uzunluk = null,
    string$ayraç = ",",
    string$sınırlayıcı = "\"",
    string$öncelem = "\\"
): array|false

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

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.

Bağımsız Değişkenler

akım

fopen(), popen()veya fsockopen() tarafından başarıyla açılmış geçerli 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. Parçalara ayırma sınırlı bir alanda gerçekleşmeyecekse, satır uzunluk karakterden oluşan parçalara bölünür.

Bu bağımsız değişkenin belirtilmemesi (veya PHP 8.0.0 ve sonrası için 0 veya null belirtilmesi) durumunda azami satır uzunluğu sınırlanmaz fakat işlem yavaşlar.

ayraç

İsteğe bağlı bu bağımsız değişken ile alan ayracı (tek baytlık bir karakter) belirtilir.

sınırlayıcı

İsteğe bağlı bu bağımsız değişken ile alan sınırlayıcı (tek baytlık bir karakter) belirtilir.

öncelem

Belirtilmesi seçimlik olup önceleme karakteri (tek baytlık bir karakter) belirtmekte kullanılır. Boş dizge ("") özel önceleme mekanizmasını iptal eder.

Bilginize: Genellikle bir sınırlayıcı karakter bir alanın içinde çiftlenerek öncelenir; ancak, öndeki karakterin yerini öncelem karakteri alabilir. Bu nedenle, öntanımlı "" karakteri ile \" aynı anlama gelir. öncelem karakterinin sınırlayıcı karakteri öncelemek dışında özel bir anlamı yoktur; kendisini de öncelemesi amaçlanmamıştır.

Dönen Değerler

Başarı durumunda okunan alanları içeren indisli bir dizi, başarısızlık durumunda false 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şılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0uzunluk artık null olabiliyor.
7.4.0öncelem bağımsız değişkeni özel önceleme mekanizmasını iptal etmek için boş dizge kabul ediyor.

Örnekler

Ö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);
}
?>

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 ikil bir dizge halinde paketler
  • fputcsv() - Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar
To Top