(PHP 3 >= 3.0.8, PHP 4, PHP 5)
fgetcsv -- Obtiene una linea del archivo apuntado y extrae los campos CSV
Descripción
array
fgetcsv ( resource handle [, int length [, string delimiter [, string enclosure]]] )
- handle
Un apuntador de archivo válido abierto exitosamente por
fopen(), popen(), o
fsockopen().
- length (Optional)
Debe ser mayor que la lÃnea más grande (en caracteres)
a ser encontrada en el archivo CSV (permitiendo los caracteres de
fin de lÃnea). Se volvió opcional en PHP 5. Omitiendo
este parámetro (o poniéndolo en 0 en PHP 5.0.4 y
superior) no hay tamaño máximo para una lÃnea, lo
cuál lo hace un poco lento.
- delimiter (Optional)
Fija el delimitador del campo (sólo un caracter). El valor
por defecto es la coma.
- enclosure (Optional)
Fija el caracter de delimitación (sólo un caracter).
El caracter por defecto son las dobles comillas. Agregado en PHP 4.3.0.
Similar a fgets() excepto en el formato
CSV y regresa una matriz conteniendo los
campos leÃdos.
fgetcsv() regresa FALSE en error, incluyendo fin de
archivo.
Nota:
Una lÃnea en blanco en un archivo CSV será regresada como
una matriz que contiene un campo null, y no ser´
tratada como error.
Ejemplo 1. Lee e imprime todo el contenido del archivo CSV
<?php $row = 1; $handle = fopen("test.csv", "r"); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; } } fclose($handle); ?>
|
|
fgetcsv() es seguro en forma binaria desde PHP 4.3.5
Nota:
Las opciones locales son tomadas en cuenta por esta función.
Si LANG es por ejemplo en_US.UTF-8,
los archivos codificados en one-byte serán leÃdos
equivocadamente por está función.
Nota: Si sufre problemas con
PHP no reconociendo los finales de lÃnea
cuando lee archivos creados en un Macintosh (o leyendo archivos sobre
uno), puede probar activando la opción de configuración
auto_detect_line_endings.
Vea también explode(), file(),
pack() y fputcsv().