Insertion d'un fichier plat

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insertion d'un fichier plat

par rspir » 10 juil. 2006, 15:18

Je m'en suis sorti avec le code :
<?php

$content=file("ag.txt");

foreach($content as $num=>$ligne)
{
   $var1=substr($ligne,0,8);
   $var2=substr($ligne,8,8);
   $var3=substr($ligne,16,17);
   $var4=substr($ligne,33,8);
   $var5=substr($ligne,41,128);
   $var6=substr($ligne,169,8);
   $var7=substr($ligne,177,128);
   $var8=substr($ligne,305,32);
   $var9=substr($ligne,337,5);
   $var10=substr($ligne,342,32);
   $var11=substr($ligne,374,32);
   $var12=substr($ligne,406,3);
   $var13=substr($ligne,409,3);
   $var14=substr($ligne,412,7);
   $var15=substr($ligne,419,112);
   $var16=substr($ligne,531,7);
   $var17=substr($ligne,538,112);
   $var18=substr($ligne,650,1);
   $var19=substr($ligne,651,1);

}

?>
En effet, je n'arrive rien avec le fget. Mais avec file(), c'est passé quasi tout de suite.

par zeus » 06 juil. 2006, 12:32

Pour parcourir un fichier, il y a ça :
http://phpdebutant.org/article58.php
Regarde aussi file()

Pour récupérer les valeurs dans le fichier selon leur position, tu peut utiliser
substr()

par rspir » 06 juil. 2006, 12:28

Bonjour

et merci pour ces premières indications.
Peux tu juste m'indiquer les commandes à utiliser pour parcourir le fichier, et pour récupérer les différentes valeurs pour chaque ligne ?

par zeus » 06 juil. 2006, 11:44

Si tu n'as pas de délimiteur mais que tu disposes des positions des valeurs, je pense que le traitement PHP est la seule solution qu'il te reste :

Code : Tout sélectionner

parcours ton fichier Pour chaque ligne Récupérer les différentes valeurs selon la position Construire la requete d'insertion Executer la requete fin pour

Insertion d'un fichier plat

par rspir » 06 juil. 2006, 11:38

Bonjour

Je dispose d'un fichier texte sans délimiteur de champ.
J'ai les positions de chaque champ.
Comment faire pour importer le contenu de ce fichier dans mysql ? Sachant que je dois importer ce fichier régulièrement avec une routine php.

Pour le moment je bidouille pour transformer mon fichier en csv (en utilisant Access) mais j'aimerais éviter l'usage d'access.

Peut on importer directement un fichier sans délimiteur ?
Si non, comment importer les données ? Faut il intégrer des délimiteurs ?