(PHP 5 >= 5.1.0)
SplFileObject::fgetcsv — Obtiene la línea de el fichero y analiza como campos CSV
$delimiter
= ","
[, string $enclosure
= "\""
[, string $escape
= "\\"
]]] )Obtiene la línea de el fichero que es está en formato CSV y devuelve un array conteniendo los campos leídos.
delimiter
El delimitador de campo (sólo un caracter). Por omisión es una coma o el valor establecido por SplFileObject::setCsvControl().
enclosure
El caracter de delimitación (sólo un caracter). Por omisión son comillas dobles o el valor establecido por SplFileObject::setCsvControl().
escape
El caracter de escape (sólo un caracter). Por omisión es un backslash (\) o el valor establecido por SplFileObject::setCsvControl().
Devuelve un array indexado conteniendo los campos leídos, o FALSE
en caso de error.
Nota:
Una línea en vlanco en un fichero CSV será devuelto como un array constituido como un campo
NULL
a menos que se establezcaSplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE
, en este 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 legs\n", $animal, $clase, $patas);
}
?>
Contenido de animales.csv
cocodrilo,reptil,4 delfín,mamífero,0 pato,ave,2 koala,mamífero,4 salmon,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 salmon es un pez con 0 patas