fgetcsv
(PHP 4, PHP 5)
fgetcsv — Obtiene una linea del archivo apuntado y extrae los campos CSV
Descripción
- 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.
Note: 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.
Example#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";
&$data[$c] . "<br />\n";
}
}
fclose($handle);
?>
fgetcsv() es seguro en forma binaria desde PHP 4.3.5
Note: 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.
Note: 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.