FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » [PHP]Importer fichier dynamique
 

[PHP]Importer fichier dynamique

Il y a 397 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [PHP]Importer fichier dynamique
 
Plus d'informations

Salut,

Je cherche à importer le contenu d’un fichier texte dans ma table Utilisateur sous MySQL.
Mon fichier texte se présente comme ci-dessous.

,Nasbe, 192.168.1.2,
,Jean, 192.168.1.3,
,Marc, 192.168.1.5,
,Jacques, 192.168.1.6,
,Louis, 192.168.2.5,
,Marcel, 192.168.3.5,

Il est dynamique, c'est-à-dire qu'il se modifie tout le temps. C'est pourquoi je ne fais pas un bête import mais que je cherche à l'importer de cette manière.

J'ai d'abord créer ce petit bout de script, qui fonctionne sans problème. Simplement j'aimerai pouvoir y rajouter la deuxième partie du code ci-dessous. A quelle niveau dois-je le faire. A chaque fois que j'essaie j'ai des erreurs parse error. Quelqu'un aurait-il une piste??

Code :
  1. <?php
  2. $Fichier = "C:\\Users\\Nasbe\\Desktop\\AdressageIP.txt";
  3. if (file_exists($Fichier)) {
  4.         $fp = fopen($Fichier, "r" );
  5.         flock ($fp, LOCK_SH); // Bloquer le fichier en écriture
  6.         $ligne = fgets($fp, 1000);
  7.         $resultat = $ligne;
  8.         while (!feof($fp)){
  9.             $ligne = fgets ($fp,1000);
  10.             $resultat .= $ligne;
  11.         }
  12.         echo $resultat;
  13.         flock ($fp, LOCK_UN);  // Bloquer le fichier en lecture
  14.         fclose ($fp);
  15. }
  16. ?>
  17. /*
  18. $bd ='gestionacces';
  19.     $lien = mysql_pconnect ('localhost', 'root', '');
  20.     mysql_select_db($bd);
  21.     $table = 'utilisateurs';
  22.     if ($lien == FALSE){
  23.         echo "connexion impossible à la base $bd";
  24.     } else {
  25.         foreach ($resultat) {
  26.         $champs = explode(",", $resultat);
  27.         $query  = "INSERT INTO utilisateurs";
  28.         $query .= "(IdUtilisateur, NomUtilisateur, IP)";
  29.         $query .= "VALUES";
  30.         $query .= "(".$champs[0].", '".$champs[1]."', '".$champs[2]."')";
  31.         mysql_query($query);
  32.         
  33. mysql_close($lien);
  34. }
  35. ?>



D'avance merci d'avoir pris le temps de me lire.

Profil : Pointeur
Plus d'informations

$resultat ne doit pas etre une chaine de caractère mais bien un tableau ...


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Salut,

Je te remercie, j'ai corriger le tir de cette manière. Maintenant j'ai encore deux problèmes.

1) si je change l'adresse de destination de mon fichier comme ceci:

Code :
  1. "\\PC-DE-NASBE\Users\AdressageIP.txt";



Il m'indique un problème avec foreach(). Parce que le fichier est placé dans un répertoire partagé?? Je comprends pas.

2) Le deuxième problème était au niveau de l'insertion dans ma table, mon fichier texte se présente comme ci-dessous

,Nasbe, 192.168.1.2,
,Louis, 192.168.2.5,
,Paul, 192.168.1.3,

Dans ma base de donnée, le champ qui fait la clé primaire est en autoincrément. La table se présente comme-ci

IdUtilisateur, NomUtilisateur, IP.

Avec mon code, il n'y a aucune insertion. Voilà j'espère que j'aurai été assez clair.

Code :
  1. $Fichier = "C:\Users\Nasbe\Desktop\AdressageIP.txt";
  2. if (file_exists($Fichier)) {
  3. $resultat=file($Fichier);
  4. }
  5. $bd ='gestionacces';
  6. $lien = mysql_pconnect ('localhost', 'root', '');
  7. mysql_select_db($bd);
  8. $table = 'utilisateurs';
  9.     if ($lien == FALSE){
  10.         echo "connexion impossible à la base $bd";
  11.     } else {
  12.         $requeteSuppression = "Delete From utilisateurs";
  13.         mysql_query($requeteSuppression);
  14.         foreach ($resultat as $res) {
  15.         $champs = explode(",", $res);
  16.         $requeteAjout  = "INSERT INTO utilisateurs";
  17.         $requeteAjout .= "(NomUtilisateur, IP)";
  18.         $requeteAjout .= "VALUES";
  19.         $requeteAjout .= "(".$champs[0].", '".$champs[1]."', '".$champs[2]."')";
  20.         mysql_query($requeteAjout);
  21.         }
  22. mysql_close($lien);
  23. }
  24. ?>


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » [PHP]Importer fichier dynamique
 

Annonces Google
Publicité