Forum und email


(PHP 4, PHP 5)

fgetcsv — Gets line from file pointer and parse for CSV fields


array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure [, string $escape ]]]] )

Similar to fgets() except that fgetcsv() parses the line it reads for fields in CSV format and returns an array containing the fields read.



A valid file pointer to a file successfully opened by fopen(), popen(), or fsockopen().


Must be greater than the longest line (in characters) to be found in the CSV file (allowing for trailing line-end characters). It became optional in PHP 5. Omitting this parameter (or setting it to 0 in PHP 5.0.4 and later) the maximum line length is not limited, which is slightly slower.


Set the field delimiter (one character only). Defaults as a comma.


Set the field enclosure character (one character only). Defaults as a double quotation mark.


Set the escape character (one character only). Defaults as a backslash (\)

Return Values

Returns an indexed array containing the fields read.

Note: A blank line in a CSV file will be returned as an array comprising a single null field, and will not be treated as an error.

Note: Αν έχετε προβλήματα με την PHP να μην αναγνωρίζει τα τέλη γραμμών όταν διαβάζει αρχεία σε, ή δημιουργημένα από, ένα Macintosh ηλεκτρονικό υπολογιστή, μπορεί να θέλετε να ενεργοποιήσετε την run-time επιλογή ρύθμισης auto_detect_line_endings.

fgetcsv() returns FALSE on error, including end of file.


Version Description
5.3.0 The escape parameter was added
4.3.5 fgetcsv() is now binary safe
4.3.0 The enclosure parameter was added


Example#1 Read and print the entire contents of a CSV file

$handle fopen("test.csv""r");
while ((
$data fgetcsv($handle1000",")) !== FALSE) {
$num count($data);
"<p> $num fields in line $row: <br /></p>\n";
    for (
$c=0$c $num$c++) {
$data[$c] . "<br />\n";


Note: Locale setting is taken into account by this function. If LANG is e.g. en_US.UTF-8, files in one-byte encoding are read wrong by this function.

Δείτε επίσης