Problème avec fgetcsv

3 réponses
AuteurMessage

erwinol |
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 11/07/2006 à 13:03

Bonjour à tous !

J'ai un problème lors du parsing d'un fichier CSV.
Voici le fichier en question : http:\\ab3-programmes.com\ftp\AB3_08072006.csv (j'en ai une dizaine comme ça).

Si j'ai pas exemple :
"a";"b";"c"
"d";"e";"f"

fgetcsv va me donner un tableau avec a, b, c, d, e et f au lieu de juste me donner la première ligne. Il y a donc un problème dans la reconnaissance de la fin de la ligne.

En testant
$ligne = file('http:\\ab3-programmes.com\ftp\AB3_08072006.csv');
il me met tout le fichier dans $ligne[0] au lieu de ne mettre que la première ligne.

J'ai parsé des dizaines de fichiers CSV, j'avais jamais vu un truc pareil. Savez-vous d'où ça peut venir ?


$fichier = "http:\\ab3-programmes.com\ftp\AB3_08072006.csv";
$fp = fopen($fichier, 'rb');

$row = fgetcsv($fp, 1024, ';');
var_dump($row);


Merci d'avance

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 11/07/2006 à 13:09

Hello,

fichier CSV au format MAC non ? (retour chariot = "\r" au lieu de "\n" pour UNIX ou "\r\n" pour DOS)
Il y a une option dans le php.ini pour gèrer ça il me semble.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 11/07/2006 à 13:10

tiré du php.ini :

; If your scripts have to deal with files from Macintosh systems,
; or you are running on a Mac and need to deal with files from
; unix or win32 systems, setting this flag will cause PHP to
; automatically detect the EOL character in those files so that
; fgets() and file() will work regardless of the source of the file.
; auto_detect_line_endings = Off

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 11/07/2006 à 14:58

J'avais cherché partout sur Google pendant 1 heure et j'ai rien trouvé.

Merci Bool

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 9:56:33 | Généré en 4.46ms | Contacts | Mentions légales |