Beschreibung
array
fgetcsv
( resource handle, int length [, string delimiter [, string
enclosure]])
Die
Funktion
fgetcsv(
)
ist
ähnlich
der
Funktion
fgets(
)
,
nur
dass
fgetcsv(
)
die
eingelesene
Zeile
auf
Felder
im
CSV
Format
(kommaseparierte
Felder
)
hin
überprüft
,
und
ein
Array
mit
den
gelesenen
Feldern
zurückgibt
.
Ist
der
optionale
dritte
Parameter
delimiter
(
Trennzeichen
)
nicht
angegeben
,
wird
standardmäßig
das
Komma
benutzt
.
Der
optionale
Parameter
enclosure
ist
auf
ein
Zeichen
limitiert
und
darf
nicht
null
sein
.
Enthält
enclosure
mehr
als
ein
Zeichen
,
wird
nur
das
erste
verwendet
.
Anmerkung
:
Der
Parameter
enclosure
wurde
in
PHP
4.3.0
eingeführt
.
Der
Parameter
handle
muss
ein
gültiger
Dateizeiger
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
.
Lesen
und
Ausgeben
des
gesamten
Inhalts
einer
CSV-Datei
?php
$row
=
1
;
/
/
Anzahl
der
Arrays
$handle
=
fopen
("test.csv"
,"r")
;
/
/
Datei
zum
Lesen
öffnen
while
($data
=
fgetcsv
($handle
,
1000
,
"
,")
)
{
/
/
Daten
werden
aus
der
Datei
/
/
in
ein
Array
$data
gelesen
$num
=
count
($data)
;
/
/
Felder
im
Array
$data
/
/
werden
gezählt
print
"
p
$num
fields
in
line
$row
:
br
\n"
;
$row++
;
/
/
Anzahl
der
Arrays
wird
/
/
inkrementiert
for
($c=0
;
$c
$num
;
$c++
)
{
/
/
FOR-Schleife
,
um
Felder
print
$data[$c
]
.
"
br
\n"
;
/
/
des
Arrays
auszugeben
}
}
fclose
($handle)
;
?
|
|
Siehe
auch
explode(
)
,
file(
)
und
pack(
)
.