Rogama Informática

PHP – Problemas con los saltos de linea en csv

Tabla de contenidos

En ocasiones necesitaremos leer los datos que contiene un CSV, lo que he estado usando siempre había sido algo al estilo.

ini_set(‘auto_detect_line_endings’,TRUE);while (($datos = fgetcsv($gestor, 100000, «n»)) !== FALSE) {//Lo que necesitara,  normalmente parsearlo}

Hace poco me encontré con un error en ese código, al intentar parsear un fichero que venia desde un MAC, el problema esta en que Windows y MAC no tratan igual los saltos de linea, por lo que «n» no existía en el fichero que me enviaban, la solución es el siguiente código:

<?phpini_set(‘auto_detect_line_endings’,TRUE);$gestorfopen(‘/path/to/file’,‘r’);
while ( (
while ( ($datos fgetcsv($gestor) ) !== FALSE ) {//Lo que necesitara,  normalmente parsearlo}

El secreto esta en esta linea:
ini_set(‘auto_detect_line_endings’,FALSE);?>


Y en el Bucle no indicarle el fin de linea, como siempre, espero os sirva de utilidad.