Bonjour, j'ai manifestement un problème avec les Macs...
Je vous explique :
Mon objectif est d'extraire les lignes d'un bête fichier .csv, construit à partir d'Excel ou de n'importe quel éditeur de texte. (et par la suite de les insèrer dans un tableau afin d'y étre triées, mais là n'est pas le problème)
Mon fichier .csv s'organise en gros comme ceci :
truc1;truc2;truc3;truc4;truc5
machin1;machin2;machin3;machin4;machin5
etc...
Pour extraire les données, j'utilise donc le code suivant :
Jusqu'à là, tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $monFichier = fopen("truc.csv", "r"); $i=0; $ii=0; while (($data = fgetcsv($monFichier,1000,";")) !== FALSE) { foreach ($data as $d) { $tab[$i][$ii]=addslashes(ucfirst(strtolower($d))); $ii++; } $ii=0; $i++; }
Je teste : j'upload differents fichiers.csv sur le serveur.
Je teste avec des fichier.csv créés sur PC, ça marche.
Je teste avec des fichier.csv créée sur Linux, ça marche.
et là, c'est le drame...
je teste avec des fichier.csv crée sur un Mac,l'un avec Excel, et un autre avec un éditeur; et là rien ne va plus...
Ma fonction fgetcsv ne détecte pas la fin des lignes sur ces fichiers Mac, le retour chariot n'est apparament pas pris en compte...
Alors que je devrais obtenir ceci dans mon tableau :
|truc1 | truc2 | truc3 | truc4 |truc5 |
|machin1 | machin2 | machin3 | machin4 |machin5 |
J'obtiens cela:
|truc1 |truc2 |truc3 |truc4 |truc5 machin1 |
Problème d'autant plus épineux que c'est pour un client Mac bien sur...
Donc si quelqu'un s'y connait en conversion de retour chariot version Mac, je suis preneur.
Merci à tous..
Partager