Analizza un file CSV in PHP
Un CSV
è un tipo di file. Significa valori separati da virgola
. È comunemente usato in diversi software come Excel. Ciò consente di salvare i dati in un formato tabulare e con un’estensione .csv
.
Per analizzare un file CSV
in PHP, si può fare usando la combinazione delle funzioni fopen()
, fgetcsv()
e fclose()
integrate in PHP.
Esempio:
/*
//sampleFile.csv
dog, cat, rat, fish
horse, cow, carabao
bird, rabbit, chicken
*/
$ctr = 1;
if (($file = fopen("sampleFile.csv", "r")) !== FALSE) {
while (($record = fgetcsv($handle, 1000, ",")) !== FALSE) {
$total = count($record);
echo "<p> $total fields in line $row: <br /></p>\n";
$ctr++;
for ($x = 0; $x < $ctr; $x++) {
echo $record[$x] . "<br />\n";
}
}
fclose($file);
}
//output:
/*
4 fields in line 1:
dog
cat
3 fields in line 2:
horse
cow
carabao
3 fields in line 3:
bird
rabbit
chicken
*/
L’esempio sopra analizza il contenuto di sampleFile.csv
utilizzando queste funzioni:
fopen(Filename, Mode, Include_path, context)
Questa funzione accetta un URL o un file, associa una risorsa denominata specificata da filename a un flusso.
Parametri:
Filename
(obbligatorio) - Questo parametro specifica il file o l’URL da aprireMode
(obbligatorio): rappresenta il tipo di accesso richiesto al file.Include_path
(opzionale) - L’impostazione di questo parametro su1
cercherà il file ininclude_path
.context
(opzionale) - Specifica il contenuto dell’handle del file. È un insieme di opzioni che possono essere aggiornate sul comportamento del flusso.
fgetcsv(File, Length, Separator, Enclosure, Escape)
Questa funzione è responsabile dell’analisi di una riga da un file CSV aperto.
Parametri:
-
File
(obbligatorio) - Questo parametro specifica il file aperto da cui restituire e da cui analizzare una riga. -
Length
(opzionale su PHP 5 e inferiori ma richiesto per PHP 5.1 e superiori) - Questo parametro è la lunghezza massima della riga. Deve essere maggiore della riga più lunga nel file. Se questo parametro non è presente, la lunghezza non è limitata, il che rende più lenta l’analisi. -
Separator
(opzionale) - Questo parametro è il separatore di campo e il valore predefinito è una virgola -,
. -
Enclosure
(opzionale) - Questo parametro è il recinto del campo e il valore predefinito è"
. -
Escape
(opzionale) - Questo parametro è il carattere di escape e il valore predefinito è\\
. -
fclose()
Questa funzione chiude un puntatore a un file aperto.
Parametro:
File
(obbligatorio) - Specifica quale file chiudere.
fopen()
.