A voir également:
- Import des données d un fichier txt ou csv dans mysql en php
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
7 réponses
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.
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
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.
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