fgetcsv
(PHP 4, PHP 5)
fgetcsv — Kinyer egy sort a fájl pointerből és elemzi a CSV mezőket
LeÃrás
- handle
- Egy valódi fájl pointer, amit sikereseren nyitottak meg az fopen(), popen() vagy fsockopen() függvénnyel.
- length (Opcinális)
- Nagyobbnak kell lennie a leghosszabb sor hosszánál (karakterek számában), ami megtalálható a CVS fájlban (sorvégi karaktereket figyelembe véve). A PHP 5-ben opcinálissá vált. Ezt a paramétert kihagyva (vagy 0-ra állÃtva PHP 5.0.4-tÅ‘l) a legnagyobb sorhosszúság nem lesz korlátozva, ami feltűnÅ‘en lassabb.
- delimiter (Opcinális)
- BeállÃtja a mezÅ‘elválasztó karaktert (csak egy karakter). Alapértelmezettként ez vesszó (,).
- enclosure (Opcinális)
- BeállÃtja a mezÅ‘határoló karaktert (csak egy karakter). Alapértelmezettként idézÅ‘jel ("). A PHP 4.3.0-ban került a nyelvbe.
Hasonló a fgets() függvényhez, kivéve azt, hogy a fgetcsv() parses the line it reads for fields in CSV format and returns an array containing the fields read.
A fgetcsv() függvény FALSE-szal tér vissza hiba esetén, akkor is, ha a fájl végén van.
Note: A CSV fájlban szereplÅ‘ üres sorokat is beolvassa és Ãgy a kapott tömbben ehhez a sorhoz tartozó mezÅ‘nek az értéke null lesz, és a PHP nem jelez hibát.
Example#1 Egy teljes CSV fájl tartalmának beolvasása és kiÃrása
<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
?>
A fgetcsv() függvény binary safe a PHP 4.3.5 óta.
Note: A helyi beállÃtás (locale setting) ha a függvény működésére. Ha a LANG értéke pl.: en_US.UTF-8, az egy-bájt kódolású fájlokat rosszul fogja ez a függvény beolvasni.
Note: Ha problémád akadna PHP-ben Machintosh gépen létrehozott szöveges fileokban a sorvégek olvasásával, valószÃnűleg be kell kapcsolnod az auto_detect_line_endings beállÃtást.