Import des données d un fichier txt ou csv dans mysql en php
Fermé
laura_lina
Messages postés
3
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
4 juin 2013
-
4 juin 2013 à 12:19
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 5 juin 2013 à 14:39
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 5 juin 2013 à 14:39
A voir également:
- Import des données d un fichier txt ou csv dans mysql en php
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
7 réponses
laura_lina
Messages postés
3
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
4 juin 2013
4 juin 2013 à 12:43
4 juin 2013 à 12:43
ce que je veux récupérer c est la valeur des champs , tout ce qui est après =
Utilisateur anonyme
4 juin 2013 à 12:59
4 juin 2013 à 12:59
Salut salut,
On utilise souvent des csv pour ce genre de truc. Comme t'as pu le voir il y a un délimiteur commun entre chaque donnée.
Le principe c'est d'ouvrir en lecture ton fichier csv, boucler par ligne et trier le tout avec des explode ou autre.
Chaque type de donnée étant toujours à la même place tu peux faire ton insert dans la boucle.
On utilise souvent des csv pour ce genre de truc. Comme t'as pu le voir il y a un délimiteur commun entre chaque donnée.
Le principe c'est d'ouvrir en lecture ton fichier csv, boucler par ligne et trier le tout avec des explode ou autre.
Chaque type de donnée étant toujours à la même place tu peux faire ton insert dans la boucle.
laura_lina
Messages postés
3
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
4 juin 2013
4 juin 2013 à 13:07
4 juin 2013 à 13:07
il y a trois type de délimiteur "1=>retour à la ligne /n , 2=>virgule , ,3=>:
le traitement du fichier c'est par bloc en boucle , je suis débutante en php et je ne sais pas comment le traiter
le traitement du fichier c'est par bloc en boucle , je suis débutante en php et je ne sais pas comment le traiter
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
4 juin 2013 à 15:53
4 juin 2013 à 15:53
Salut !
Ca reste assez délicat comme format je trouve ...
Tu ne peux pas changé le format ? Genre un xml serrait parfait pour ce genre de fichier ;-)
Ca reste assez délicat comme format je trouve ...
Tu ne peux pas changé le format ? Genre un xml serrait parfait pour ce genre de fichier ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
4 juin 2013 à 20:06
4 juin 2013 à 20:06
Mmh enplus le nombre de ligne n'est pas fixe ...
Faudrait voir pour récupérer déjà chaque bloc, avec un explode('Nom_cat') mais c'est du bidouillage ... Ensuite explode(',') et explode('=')
Puis tu regarde par incrémentation de deux,
Le premier étant Nom_cat, et le dexieme cat1.
Faudrait voir pour récupérer déjà chaque bloc, avec un explode('Nom_cat') mais c'est du bidouillage ... Ensuite explode(',') et explode('=')
Puis tu regarde par incrémentation de deux,
Le premier étant Nom_cat, et le dexieme cat1.
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
5 juin 2013 à 14:39
5 juin 2013 à 14:39
Sinon pour récupérer chaque "bloc", une regex ----------- cat[1-9][0-9] ------------- peut être ...
Tu as donc chaque bloc cat, ensuite tu supprimes tes lignes ----- blabla -----
Tu explodes sur le retour à la ligne, ensuite sur la virgule, et pour finir le = où l'élement avec un index paire sera le champ, et celui à l'index impaire sera la valeur.
exemple :
$tab = explode('=', $doc);
echo $tab[0] // Nom_cat
echo $tab[1] // cat1
echo $tab[2] // desc_cat
echo $tab[3] // test description cat
Tu as donc chaque bloc cat, ensuite tu supprimes tes lignes ----- blabla -----
Tu explodes sur le retour à la ligne, ensuite sur la virgule, et pour finir le = où l'élement avec un index paire sera le champ, et celui à l'index impaire sera la valeur.
exemple :
$tab = explode('=', $doc);
echo $tab[0] // Nom_cat
echo $tab[1] // cat1
echo $tab[2] // desc_cat
echo $tab[3] // test description cat