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
)