En ocasiones necesitaremos leer los datos que contiene un CSV, lo que he estado usando siempre había sido algo al estilo.
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:
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.