PHP – Problemas con los saltos de linea en csv

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.