Beschreibung
array
fgetcsv ( int fp, int length [, string delimiter])
Die Funktion fgetcsv() handelt ähnlich der
Funktion fgets(), bis auf den Umstand, das
fgetcsv() die eingelesene Zeile auf
Kommaseparierte Felder hin überprüft. Das Ergebnis wird als Array
zurückgegeben. Als Trennzeichen (Delimiter) wird - wenn kein
anderes Trennzeichen im dritten optionalen Parameter angegeben
wird - das Komma benutzt.
Der Dateizeiger fp muss gültig sein,
d.h. die Datei, auf die gezeigt wird, muss zuvor mit
fopen(), popen() oder
fsockopen() geöffnet worden sein.
Length muss größer sein als die längste in der
CSV-Datei vorhandene Zeile (um das Erkennen von EndOfLine (Ende der
Zeile) Zeichen zu ermöglichen).
fgetcsv() gibt bei Lesefehlern und am Dateiende
FALSE zurück.
Anmerkung:
Eine leere Zeile der CSV-Datei wird als Array mit einem Feld das
den Wert NULL hält zurückgegeben. Sie wird nicht als Fehler
behandelt.
Beispiel 1.
fgetcsv() Beispiel - Lesen und Ausgabe des
Inhalts einer CSV-Datei
$row = 1; // Anzahl der Arrays
$fp = fopen ("test.csv","r"); // Datei wird zum Lesen
// geöffnet
while ($data = fgetcsv ($fp, 1000, ",")) { // Daten werden aus der Datei
// in einen Array $data gelesen
$num = count ($data); // Felder im Array $data
// werden gezählt
print "<p> $num fields in line $row: <br>";
$row++; // Anzahl der Arrays wird
// inkrementiert
for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder
print $data[$c] . "<br>"; // des Arrays auszugeben
}
}
fclose ($fp); |
|