IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Traiter tous les fichiers d'un répertoire pour les injecter dans une table MySQL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut Traiter tous les fichiers d'un répertoire pour les injecter dans une table MySQL
    Bonjour à tous,

    J'espère ne pas poster au mauvais endroit, si je me suis trompé n'hésitez pas à me le signaler.

    Ma problématique la voici, j'ai dans un repertoire donné tout un paquet de fichier .txt formatés de la même façon aux noms plus ou moins longs.

    Exemples de noms de fichiers :

    The Forge-Hardwiring - Inherent Implants 'Noble' ZET100-2009.05.03 201338.txt
    Lonetrek-Hardwiring - Eifyr and Co. 'Rogue' CY-1-2009.05.03 200155.txt

    Le contenu des fichiers est de la forme suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    price,volRemaining,typeID,range,orderID,volEntered,minVolume,bid,issued,duration,stationID,regionID,solarSystemID,jumps,
    200000.0,1.0,13258,32767,1107937652,1,1,False,2009-05-03 19:34:50.000,90,60002425,10000002,30000165,6,
    382688.0,1.0,13258,32767,1106186544,1,1,False,2009-05-02 16:30:59.000,90,60003937,10000002,30000153,3,
    450000.0,1.0,13258,32767,1104231363,1,1,False,2009-05-01 03:28:14.000,7,60012667,10000002,30000180,6,
    500000.0,3.0,13258,32767,1105991660,3,1,False,2009-05-02 13:50:27.000,90,60004360,10000002,30000136,4,
    657722.0,1.0,13258,32767,1104086278,1,1,False,2009-05-01 00:39:32.000,14,60010195,10000002,30000159,8,
    700000.0,1.0,13258,32767,1076572656,1,1,False,2009-04-10 14:23:40.000,90,60003469,10000002,30000142,0,
    724732.3199,29.0,13258,32767,1105788985,29,1,False,2009-05-02 09:20:53.000,90,60003760,10000002,30000142,0,
    724810.24,1.0,13258,32767,1056707470,5,1,False,2009-04-03 22:58:50.000,90,60003760,10000002,30000142,0,
    725000.0,1.0,13258,32767,1089748499,1,1,False,2009-04-20 04:23:56.000,14,60002851,10000002,30000179,11,
    730000.0,1.0,13258,32767,1066184998,1,1,False,2009-04-02 21:18:40.000,90,60003760,10000002,30000142,0,
    738110.0,1.0,13258,32767,1065294053,1,1,False,2009-04-02 03:15:16.000,90,60003229,10000002,30000128,5,
    740000.0,2.0,13258,32767,1060356398,2,1,False,2009-03-29 13:34:11.000,90,60003760,10000002,30000142,0,
    760000.7,6.0,13258,32767,1057176653,10,1,False,2009-03-27 08:25:55.000,90,60003760,10000002,30000142,0,
    776000.68,76.0,13258,32767,980998408,91,1,False,2009-03-26 05:25:45.000,90,60003760,10000002,30000142,0,
    874000.0,2.0,13258,32767,1101750155,2,1,False,2009-04-29 04:13:04.000,90,60003754,10000002,30000144,1,
    7500000.0,1.0,13258,32767,1057623438,1,1,False,2009-03-27 17:54:54.000,90,60004366,10000002,30000132,2,
    204923.0,333.0,13258,-1,989158994,500,1,True,2009-05-02 17:01:46.000,90,60003760,10000002,30000142,0,
    204922.32,122.0,13258,2,1105789362,132,1,True,2009-05-02 09:21:22.000,90,60003760,10000002,30000142,0,
    204913.02,14.0,13258,-1,1099591365,50,1,True,2009-04-27 14:30:41.000,90,60003760,10000002,30000142,0,
    204903.0,12.0,13258,-1,1086767461,50,1,True,2009-04-25 02:25:14.000,90,60003760,10000002,30000142,0,
    186973.38,70.0,13258,-1,993664917,100,1,True,2009-04-03 23:03:43.000,90,60003760,10000002,30000142,0,
    170001.0,161.0,13258,-1,975369053,200,1,True,2009-03-26 05:25:36.000,90,60003760,10000002,30000142,0,
    150926.9,43.0,13258,-1,1015655891,379,1,True,2009-03-05 09:42:05.000,90,60003760,10000002,30000142,0,
    36351.73,123.0,13258,40,1047516243,127,1,True,2009-04-16 22:18:20.000,90,60004423,10000002,30000142,0,
    1000.0,66.0,13258,4,952575794,100,1,True,2009-02-08 17:30:36.000,90,60004054,10000002,30000147,6,
    Mon souhait serait d'avoir un script php qui me scanne donc le repertoire qui contient les fichiers (plusieurs centaines) et qui suite au scan analyse fichier par fichier et injecte chaque ligne du fichier dans une table mysql.

    Autant la partie MySQL je n'ai pas de problème (forcement y a pas grand chose à faire), autant pour ce qui est du php j'ai toujours eu du mal et mixer le scan de repertoire + le traitement des fichiers + identification de la virgule comme séparateur de colonne je sais pas comment faire.

    Je suis preneur de toute aide, piste ou bout de code déjà écrit.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Parcourir les fichiers d'un repertoire, il y a un exemple dans la documentation
    http://fr.php.net/readdir

    Pour le traitement du fichier, c'est purement un csv (n'oublie pas de sauter la ligne de titre par contre)
    http://fr.php.net/manual/en/function.fgetcsv.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 348
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 348
    Billets dans le blog
    17
    Par défaut
    Bonjour et bienvenu

    autant pour ce qui est du php j'ai toujours eu du mal et mixer le scan de repertoire + le traitement des fichiers + identification de la virgule comme séparateur de colonne je sais pas comment faire.
    Si tu te sens perdu n'hésite pas à décomposer, tu as déjà donner les bases :

    Pour scanner le répertoire et récupérer les fichiers tu as glob( ) http://fr.php.net/glob
    Ensuite pour le traitement des fichiers tu as file( ) http://fr.php.net/file qui récupère le contenu d'un fichier ligne par ligne, puis explode( ) http://fr.php.net/explode qui permet de séprarer les composantes d'une ligne
    Voilà, n'hésite pas si tu as une question.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut
    merci je vais regarder ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/05/2018, 17h07
  2. Réponses: 4
    Dernier message: 21/11/2011, 06h06
  3. Réponses: 5
    Dernier message: 07/09/2011, 14h12
  4. lister les fichiers d'un répertoire et les ouvrir
    Par thong36 dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2006, 10h43
  5. Traiter tous les fichiers d'un répertoir sans les MFC.
    Par radicalrider dans le forum MFC
    Réponses: 12
    Dernier message: 21/06/2006, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo