Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 11/06/2007, 10h50   #1
Rédacteur/Modérateur

 
Avatar de arnolem
 
Inscription : février 2005
Messages : 2 798
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2005
Messages : 2 798
Points : 2 673
Points : 2 673
Par défaut [CSV] Importer un fichier CSV contenant des sauts de ligne dans les champs de donnée

Bonjour à tous,
J'aurais besoin d'un petit conseil car je pense que je suis passé à côté de quelque chose.

BUT : Je dois importer un fichier CSV dans une base de données.

PROBLEMATIQUE : Certain champs comportent des sauts de ligne, la fonction fgetcsv() va surement pas aimer. J'ai pensé faire un traitement pour virer les sauts de ligne avant d'utiliser le fgetcsv() mais cette fonction ne prend pas un chaine mais une ressource en entrée. Je suis donc obligé d'enregistré mon fichier pour le réouvrir avec un fgetcsv().

QUESTION : Avez vous une meilleure solution ?

Merci par avance
arnolem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 11h07   #2
Rédacteur/Modérateur

 
Avatar de arnolem
 
Inscription : février 2005
Messages : 2 798
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2005
Messages : 2 798
Points : 2 673
Points : 2 673
Suite ...

J'ai peut être mal identifié le problème car la fonction à l'aire de bien gérer les sauts de ligne, bravo PHP .

En effet, j'ai un contrôle d'erreur qui vérifie que chaque ligne à bien le même nombre d'information que l'entête, se qui n'est pas le cas.

J'investigue et je reviens vers vous
arnolem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 11h09   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par http://fr.php.net/fgetcsv
Note: Une ligne vide dans un fichier CSV sera retournée sous la forme d'un tableau contenant la valeur NULL et ne sera pas traitée comme une erreur.
N'est-ce pas le cas ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/06/2007, 11h20   #4
Rédacteur/Modérateur

 
Avatar de arnolem
 
Inscription : février 2005
Messages : 2 798
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : février 2005
Messages : 2 798
Points : 2 673
Points : 2 673
Merci pour l'info mais se n'est pas ça.
Je pense que je viens de trouvé se qui sortait en erreur.

Le problème viens du format CSV en lui même et non de PHP.
En effet, si les dernières colonnes ne sont pas spécifiées, les séparateurs de chacun de ses champs sont facultatifs.

Par exemple :
Citation:
"champ1","champ2","","champ4","champ5","","",""
Peut aussi s'ecrire :
Citation:
"champ1","champ2","","champ4","champ5"
Merci d'avoir cherché
arnolem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h27.


 
 
 
 
Partenaires

Hébergement Web