[php]Import fichier .txt dans BDD Mysql
Fermé
chot
Messages postés
21
Date d'inscription
vendredi 14 avril 2006
Statut
Membre
Dernière intervention
12 juin 2006
-
27 avril 2006 à 15:43
[o.o]REplay Messages postés 357 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 20 juillet 2009 - 26 juin 2008 à 22:54
[o.o]REplay Messages postés 357 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 20 juillet 2009 - 26 juin 2008 à 22:54
Bonjour, je suis en stage au service informatique du contre espionnage français et je cherche une solution pour importer un fichier texte en php. Avec une mise à jour toute les 6 h.
Voici l'adresse:
http://ww11.satcodx1.com/_data/0130.txt
Il contient des informations non confidentielles séparées par des tabulations et je souhaite remplir une BDD MySql avec certaines colonnes comme PID, SR ...
L'idée serait de remplir un tableau en php avec les informations triées par colonne. Mais je ne sais pas comment l'importer et le remettre en ordre. Si quelqu'un voit comment faire! Merci
Voici l'adresse:
http://ww11.satcodx1.com/_data/0130.txt
Il contient des informations non confidentielles séparées par des tabulations et je souhaite remplir une BDD MySql avec certaines colonnes comme PID, SR ...
L'idée serait de remplir un tableau en php avec les informations triées par colonne. Mais je ne sais pas comment l'importer et le remettre en ordre. Si quelqu'un voit comment faire! Merci
A voir également:
- [php]Import fichier .txt dans BDD Mysql
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier iso - Guide
4 réponses
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
28 avril 2006 à 16:54
28 avril 2006 à 16:54
Le mettre à jour toutes les 6 heures?
Tu auras besoin d'un planificateur de tâche pour lancer ton script toutes les 6 heures (il faudra que tu utilises un script php sans passer par une page web).
Typiquement dans un fichier, les lignes sont séparées par le caractère "\n" et les tabulations sont représentées par "\t".
Donc avec la fonction explode, c'est tout vu:
http://fr3.php.net/manual/fr/function.explode.php
Ce message s'autodétruira dans 5 secondes....
Tu auras besoin d'un planificateur de tâche pour lancer ton script toutes les 6 heures (il faudra que tu utilises un script php sans passer par une page web).
Typiquement dans un fichier, les lignes sont séparées par le caractère "\n" et les tabulations sont représentées par "\t".
Donc avec la fonction explode, c'est tout vu:
http://fr3.php.net/manual/fr/function.explode.php
//On prend le contenu du fichier $content=file_get_contents('http://ww11.satcodx1.com/_data/0130.txt','r'); //On sépare par ligne $content=explode("\n", $content); //On sépare chaque ligne par colonne for($i=0;$i<sizeof($content);$i++) { $content[$i] = explode("\t", $content[$i]); } //Affichage pour le test print_r($content); ?>
Ce message s'autodétruira dans 5 secondes....
[o.o]REplay
Messages postés
357
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
20 juillet 2009
28
26 juin 2008 à 22:54
26 juin 2008 à 22:54
Bonjour,
Fais une page PHP chargée de lire ton fichier texte:
pour celà, tu pourra utiliser fopen fread, fclose:
http://www.manuelphp.com/php/function.fread.php
ton fichier texte n'étant plus disponible dans ton lien, je ne vois pas trop les champs que tu veux insérer dans ta base, mais pour scanner les chaines de caractères lues, tu pourra utiliser sscanf, ou bien parcourir tes chaines de caractères avec une boucle for jusqu'a trouver un caractère de séparation (genre ;)
ensuite tu n'as plus qu'a insérer ça dans tes tables.
Pour ce qui est d'executer cette action periodiquement-> CRON (vu que vous étes sous redhat ) programme déjà intégré à ton serveur UNIX, permettant d'executer des scripts régulièrement.
bonne continuation
Fais une page PHP chargée de lire ton fichier texte:
pour celà, tu pourra utiliser fopen fread, fclose:
http://www.manuelphp.com/php/function.fread.php
ton fichier texte n'étant plus disponible dans ton lien, je ne vois pas trop les champs que tu veux insérer dans ta base, mais pour scanner les chaines de caractères lues, tu pourra utiliser sscanf, ou bien parcourir tes chaines de caractères avec une boucle for jusqu'a trouver un caractère de séparation (genre ;)
ensuite tu n'as plus qu'a insérer ça dans tes tables.
Pour ce qui est d'executer cette action periodiquement-> CRON (vu que vous étes sous redhat ) programme déjà intégré à ton serveur UNIX, permettant d'executer des scripts régulièrement.
bonne continuation
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
28 avril 2006 à 17:07
28 avril 2006 à 17:07
Bon faudra bidouiler un peu ça parce que les colonnes ne sont pas toujours séparées par des tabulations à ce que je vois.
bibah
Messages postés
13
Date d'inscription
jeudi 31 janvier 2008
Statut
Membre
Dernière intervention
31 octobre 2008
26 juin 2008 à 17:16
26 juin 2008 à 17:16
quant a moi je vourais savoir comment creer un fichier d'enregistrement a part ,ensuite l charger dans une TABLE qui a ete cree davance
je sais k la commande ki sert de charger est la suivante LOAD DATA
MAIS JE NE SAIS PAS COMMENT CREER CE FICHIER
merci de m'aider
je sais k la commande ki sert de charger est la suivante LOAD DATA
MAIS JE NE SAIS PAS COMMENT CREER CE FICHIER
merci de m'aider