J'analysais un fichier csv en utilisant php avec la fonction fgetcsv. Il a analysé tout le contenu dans une ligne, plus tard j'ai trouvé, csv contient le retour carraige comme "\ r". J'ai vu - il a déjà été signalé comme bogue php. J'ai résolu cela en définissant la configuration d'exécution php qui est -
ini_set("auto_detect_line_endings", "1");
existe-t-il une autre solution ou est-ce la bonne façon?
Merci
Réglage auto_detect_line_endings
est explicitement recommandé par la documentation php .
Cependant, je ne peux pas comprendre pourquoi vous voudriez délimiter les lignes avec \r
en 2010. Si possible, convertissez-les au style UNIX \n
.
Les fins de ligne \r
Sont créées par Microsoft Excel lors de l'enregistrement en tant que fichier CSV, il n'y a donc pas grand-chose à contourner si vous commencez avec une feuille de calcul Excel.
L'utilisation de auto_detect_line_endings
Fonctionne bien, ou vous pouvez normaliser les fins de ligne avec preg_replace("/\r\n|\n\r|\n|\r/", "\n", $subject);