Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2012, 18h30   #1
Invité de passage
 
Homme aurélien
Étudiant
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme aurélien
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 10
Points : 1
Points : 1
Par défaut Problème curieux de parsing .csv

Bonjour amis développeurs,

Je me trouve face à un problème quelque peu curieux. Je m'explique :

Je souhaite exploiter un fichier .csv que j'ai précédemment enregistrer avec Excel.
J'utilise la fonction fgetcsv().
Jusque là tout va bien me direz-vous.

Cependant, mes retours à la ligne présent dans le fichier .csv ne sont pas "détectés" par mon code PHP.

En effet j'ai effectué un test : j'ai tapé moi même les lignes du fichier .csv et dans cette situation aucun problème, je récupère bien tout ce qu'il faut dans un tableau ligne par ligne.

Or, lorsque que j'exploite le fichier .csv précédemment enregistrer avec Excel celui-ci me renvoi tout le fichier en une seule ligne.

De quoi cela peut-il bien venir ?

J'espere avoir été assez clair dans mes explications, dans le cas contraire je donnerais des précisions.

PS : Je suis sous Mac (au cas ou cela aurais une incidence).

En vous remerciant d'avance.

Aurélien.
aurelien22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 18h42   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Il y a ça dans la doc sur fgetcsv( ) :

Citation:
Note: If PHP is not properly recognizing the line endings when reading files either on or created by a Macintosh computer, enabling the auto_detect_line_endings run-time configuration option may help resolve the problem.
http://fr2.php.net/fgetcsv
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 18h58   #3
Invité de passage
 
Homme aurélien
Étudiant
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme aurélien
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 10
Points : 1
Points : 1
Merci, c'a m'apprendra à lire la doc en entière ...

J'ai bien activé cette option dans le php.ini de MAMP, cependant j'ai toujours mon problème.
aurelien22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 18h59   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 250
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 250
Points : 8 635
Points : 8 635
dans ta source HTML les sauts y sont, faut faire un nl2br pour le rendu HTML
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 19h02   #5
Invité de passage
 
Homme aurélien
Étudiant
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme aurélien
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 10
Points : 1
Points : 1
Comment expliquer que quand j'utilise un fichier .csv tapé à la main ça fonctionne ?
aurelien22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 19h49   #6
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Citation:
Envoyé par aurelien22 Voir le message
Comment expliquer que quand j'utilise un fichier .csv tapé à la main ça fonctionne ?
Ton Excel génère des sauts de ligne non reconnus par PHP.
Quels sauts de ligne sont utilisés ?
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 20h01   #7
Invité de passage
 
Homme aurélien
Étudiant
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme aurélien
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 10
Points : 1
Points : 1
Ah oui je vois ... c'est plutôt embêtant. Comment puis-je voir quels sont les sauts de ligne utilisés, et comment puis-je régler ce problème ? car lors de l'enregistrement de mon .csv avec Excel je ne peux choisir quel type de saut de ligne mettre.
aurelien22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 21h02   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 250
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 250
Points : 8 635
Points : 8 635
Citation:
Envoyé par aurelien22 Voir le message
Ah oui je vois ... c'est plutôt embêtant. Comment puis-je voir quels sont les sauts de ligne utilisés, et comment puis-je régler ce problème ? car lors de l'enregistrement de mon .csv avec Excel je ne peux choisir quel type de saut de ligne mettre.
t'as pas à te soucier de ça, fait un nl2br et c'est réglé
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 21h27   #9
Invité de passage
 
Homme aurélien
Étudiant
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme aurélien
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 10
Points : 1
Points : 1
Citation:
Envoyé par stealth35 Voir le message
t'as pas à te soucier de ça, fait un nl2br et c'est réglé
D'accord, je vais faire ça alors.

Merci pour votre aide.
aurelien22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 21h27   #10
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
et quand tu ouvres ton .csv avec notepad++ y a une seule ligne ou plusieurs ?
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 14h25   #11
Invité de passage
 
Homme aurélien
Étudiant
Inscription : août 2011
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme aurélien
Localisation : France, Côtes d'Armor (Bretagne)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 10
Points : 1
Points : 1
Je n'utilise pas notepad++ mais un autre éditeur.

Et oui lorsque je l'ouvre avec mon éditeur il y a bien plusieurs lignes.

J'ai fais un test. J'ai réaliser ce même fichier .csv mais cette fois sur windows.

Et bien dans ce cas tout marche très bien.

Cela viens donc bien de la génération du .csv avec excel sous Mac OS.
aurelien22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h41   #12
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Citation:
Envoyé par stealth35 Voir le message
t'as pas à te soucier de ça, fait un nl2br et c'est réglé
Pourquoi tu parles d'HTML? Là ça cause csv...

Sur cette discussion c'est le même problème. Il semble que cela soit dû à l'encodage du fichier... Par contre, le problème ne semble pas résolu.
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 12h21   #13
Modérateur
 
Inscription : septembre 2010
Messages : 7 250
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 250
Points : 8 635
Points : 8 635
Citation:
Envoyé par Marc3001 Voir le message
Pourquoi tu parles d'HTML? Là ça cause csv...

Sur cette discussion c'est le même problème. Il semble que cela soit dû à l'encodage du fichier... Par contre, le problème ne semble pas résolu.
c'est de l'import de donnée, donc à afficher sur une page web ...
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h48.


 
 
 
 
Partenaires

Hébergement Web