PHP fgetcsv() funktion
Definition og brug
fgetcsv() funktionen læser en linje fra filpegmentet og analyserer CSV-felter.
Med fgets() Lignende, men forskelligt er, at fgetcsv() analyserer indlæste linjer og finder CSV-formaterede felter, og returnerer derefter et array, der indeholder disse felter.
fgetcsv() returnerer FALSE ved fejl, herunder når filen når slutningen.
Kommentar:Fra PHP 4.3.5 og frem er fgetcsv() binært sikker.
Syntaks
fgetcsv(file,length,separator,enclosure)
Parameter | Beskrivelse |
---|---|
file | Obligatorisk. Angiver filen, der skal kontrolleres. |
length |
Valgfri. Angiver maksimal længde på en linje. Den skal være større end den længste linje i CSV-filen. I PHP 5 er parameteren valgfri. Før PHP 5 er den obligatorisk. Hvis parameteren ignoreres (sættes til 0 i versioner af PHP 5.0.4 og nyere), er længden ikke begrænset, men kan påvirke udførelseseffektiviteten. |
separator | Valgfri. Angiv feltets adskiller (kun en tegn), standardværdien er komma. |
enclosure |
Valgfri. Angiv feltets omgivende tegn (kun en tegn), standardværdien er anførselstegn. Dette parameter blev tilføjet i PHP 4.3.0. |
Tips og kommentarer
Kommentar:Tomme linjer i CSV-filen returneres som en array med et enkelt null-felt og betragtes ikke som en fejl.
Kommentar:Denne funktion er følsom over for sprogindstillinger. For eksempel, hvis LANG sættes til en_US.UTF-8, kan der opstå læsefejl i filer med enkeltbytekodning.
Kommentar:Hvis PHP ikke kan genkende Macintosh-filens linjeskilte ved læsning af filen, kan du aktivere runtimeindstillingen auto_detect_line_endings.
Eksempel
Eksempel 1
<?php $file = fopen("contacts.csv","r"); print_r(fgetcsv($file)); fclose($file); ?>
CSV-fil:
George, John, Thomas, USA James, Adrew, Martin, USA
Udskrivning ligner:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA )
Eksempel 2
<?php $file = fopen("contacts.csv","r"); while(! feof($file)) { print_r(fgetcsv($file)); } fclose($file); ?>
CSV-fil:
George, John, Thomas, USA James, Adrew, Martin, USA
Udskrivning ligner:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA Array ( [0] => James [1] => Adrew [2] => Martin [3] => USA )