fgetcsv
(PHP 4, PHP 5)
fgetcsv — Prende una riga da un puntatore a file e l'analizza in cerca di campi CSV
Descrizione
- handle
- Un puntatore valido a un file che punta a un file aperto con successo da fopen(), popen(), o fsockopen().
- length (Opzionale)
- Deve essere più grande della linea più lunga (in caratteri) per essere trovato nel file CSV (permettendo di trascinare il carattere di fine linea). E' diventato opzionale in PHP 5.
- delimiter (Opzionale)
- Setta il delimitatore di campo (un solo carattere). Virgola per default.
- enclosure (Opzionale)
- Setta il carattere di inclusione nel campo (un solo carattere). Doppie virgolette per default. Aggiunto in PHP 4.3.0.
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.
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.
Example#1 Legge e scrive l'intero contenuto di un file CSV.
<?php
$row = 1;
$handle = fopen("test.csv","r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num campi sulla linea $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br>\n";
}
}
fclose($handle);
?>
fgetcsv() è diventata binary safe dal PHP 4.3.5
Nota: Se si hanno problemi con il PHP che non riconosce i fine linea leggendo file creati o ospitati su un computer Macintosh, si può abilitare l'opzione auto_detect_line_endings della configurazione di runtime.