PHP Manual
Prev |  | Next

# fgetcsv

(PHP 3>= 3.0.8, PHP 4 )

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

## Description

array fgetcsv ( int fp, int length [, string delimiter [, string enclosure]])

Similar to fgets() except that fgetcsv() parses the line it reads for fields in CSV format and returns an array containing the fields read. The optional third `delimiter` parameter defaults as a comma. The optional `enclosure` cannot be null, and is limited to one character. If `enclosure` is more than one character, only the first character is used.

> Note: The `enclosure` parameter was added in PHP 4.3.0.

The `fp` parameter must be a valid file pointer to a file successfully opened by fopen(), popen(), or fsockopen().

The `length` parameter must be greater than the longest line to be found in the CSV file (allowing for trailing line-end characters).

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

> 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.

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

    <?php
    $row = 1;
    $fp = fopen ("test.csv","r");
    while ($data = fgetcsv ($fp, 1000, ",")) {
        $num = count ($data);
        print "<p> $num fields in line $row: <br>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            print $data[$c] . "<br>\n";
        }
    }
    fclose ($fp);
    ?>

See also explode(), file(), and pack()

Prev | Home | Next
fgetc | Up | fgets