fgetcsv

(PHP 3>= 3.0.8, PHP 4 , PHP 5)

fgetcsv -- Prende una riga da un puntatore a file e l'analizza in cerca di campi CSV

Descrizione

array fgetcsv ( resource handle, int lunghezza [, string delimitatore [, string enclosure]])

Simile a fgets() eccetto per il fatto che fgetcsv() analizza le righe lette alla ricerca di campi in formato CSV e restituisce un vettore contenente i campi letti. Il delimitatore di campo è una virgola, a meno che non venga specificato un altro delimitatore usando il terzo parametro opzionale, mentre per il quarto parametro opzionale, enclosure, il default sono i doppi apici. Entrambi i parametri, delimitatore ed enclosure, hanno la dimensione di un carattere. Se si forniscono stringhe di più di un carattere, verrà considerato solo il primo.

Nota: Il parametro enclosure è stato aggiunto in PHP 4.3.0.

Handle deve essere un puntatore valido ad un file correttamente aperto da fopen(), popen() o fsockopen().

Lunghezza deve essere maggiore della linea più lunga trovata nel file CSV (compresi i caratteri di fine riga).

fgetcsv() restituisce FALSE in caso d'errore e al raggiungimento della fine del file.

Nota: Una riga vuota in un file CVS verrà riportata come un vettore contenente un solo campo vuoto (null) e non verrà trattata come un errore.

Esempio 1. Legge e scrive l'intero contenuto di un file CSV.

<?php
$row
= 1;
$handle = fopen("test.csv","r");
while (
$data = fgetcsv($handle, 1000, ",")) {
    
$num = count($data);
    echo
"<p> $num campi sulla linea $row: <br >\n";
    
$row++;
    for (
$c=0; $c < $num; $c++) {
        echo
$data[$c] . "<br>\n";
    }
}
fclose($handle);
?>

Vedere anche explode(), file() e pack().