(PHP 5 >= 5.1.0, PHP 7)
SplFileObject::fgetcsv — Obtiene una línea de un fichero y la analiza como campos CSV
$delimiter
= ","
[, string $enclosure
= "\""
[, string $escape
= "\\"
]]] )Obtiene una línea del fichero la cual está en formato CSV y devuelve un array que contiene los campos leídos.
delimiter
El delimitador de campos (sólo un carácter). Por omisión, es una coma o el valor establecido por SplFileObject::setCsvControl().
enclosure
El carácter circundante de cada campo (sólo un carácter). Por omisión, son comillas dobles o el valor establecido por SplFileObject::setCsvControl().
escape
El carácter de escape (sólo un carácter). Por omisión, es una barra invertida (\) o el valor establecido por SplFileObject::setCsvControl().
Devuelve un array indexado que contiene los campos leídos, o FALSE
en caso de error.
Nota:
Una línea en blanco en un fichero CSV será devuelta como un array constituido por un campo
NULL
a menos que se establezcaSplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE
, en cuyo caso se omiten las líneas vacías.
Ejemplo #1 Ejemplo de SplFileObject::fgetcsv()
<?php
$fichero = new SplFileObject("datos.csv");
while (!$fichero->eof()) {
var_dump($fichero->fgetcsv());
}
?>
Ejemplo #2 Ejemplo de SplFileObject::READ_CSV
<?php
$fichero = new SplFileObject("animales.csv");
$fichero->setFlags(SplFileObject::READ_CSV);
foreach ($fichero as $fila) {
list($animal, $clase, $patas) = $fila;
printf("Un %s es un %s con %d patas\n", $animal, $clase, $patas);
}
?>
Contenido de animales.csv
cocodrilo,reptil,4 delfín,mamífero,0 pato,ave,2 koala,mamífero,4 salmón,pez,0
El resultado del ejemplo sería algo similar a:
Un cocodrilo es un reptil con 4 patas Un delfín es un mamífero con 0 patas Un pato es un ave con 2 patas un koala es un mamífero con 4 patas Un salmón es un pez con 0 patas