Executer mon script en fonction d'un fichier txt.

Signaler
Messages postés
11
Date d'inscription
dimanche 7 mars 2010
Statut
Membre
Dernière intervention
6 juin 2010
-
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
-
bonjour a tous je vous explique mon probleme je voudrai savoir si il est possible d'executer mon code php en foction de nouvelle données que je reçois dans un fichier .txt cad a chaque nouvelle enregistrement de mon fichier .txt mon code s'execute pour enregistrer les donnée dans ma BDD. merci de votre aide

mon code php:

<?php
    
$host = "localhost";
$user = "yass";
$pass = "astral";
$db = "bus";
$table = "readdata";

$connect = mysql_connect ($host, $user, $pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db, $connect) or die ('Erreur : '.mysql_error());

$ouvre = fopen ( "coordonnee.txt" , "r" ) ;  // ouverture du fichier*

while ( !feof ( $ouvre ) )          // tant que pas en fin de fichier
{
$lecture = fgets ( $ouvre, 4096 ) ; // stockage dans $lecture
$donnee = explode ( "," , $lecture ) ;  // parsing des données basé sur ",")

$combien = count ( $donnee ) -1; // nbre d'éléments séparés par ","

for ( $i = 0 ; $i <= 7 ; $i++ )
{ 
echo $donnee [$i] , " 
 " ;  // affichage des données

if ( $i 0 ) $etat  $donnee [$i];
if ( $i 1 ) $trame  $donnee [$i];
if ( $i 2 ) $lati  $donnee [$i];
if ( $i 3 ) $pns  $donnee [$i];
if ( $i 4 ) $long  $donnee [$i];
if ( $i 5 ) $pew  $donnee [$i];
if ( $i 6 ) $heur  $donnee [$i];
if ( $i 7 ) $validation  $donnee [$i];		
}		

$request = "insert into donnee values ('', '$etat', '$trame', '$lati', '$pns', '$long', '$pew', '$heur', '$validation')";
mysql_query($request);
}
mysql_close($connect);
fclose ( $ouvre ) ;		// fermeture
?>

1 réponse

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

	$lecture = fgets ( $ouvre, 4096 ) ; // stockage dans $lecture
$donnee = explode ( "," , $lecture ) ;  // parsing des données basé sur ",")

Pourquoi vouloir réinventer la roue carrée ? Il existe la fonction fgetcsv() pour faire ceci.

je voudrai savoir si il est possible d'executer mon code php en foction de nouvelle données que je reçois dans un fichier .txt cad a chaque nouvelle enregistrement de mon fichier .txt mon code s'execute pour enregistrer les donnée dans ma BDD.

Une solution serait de lancer ton script à intervalle régulier (toutes les heures, 5 min ou toutes les minutes, à toi de voir). Afin d'éviter les doublons tu as le choix des méthodes :
- vider ton fichier une fois les données insérées
- effectuer une requête sur ta base de données pour savoir si ce jeu de données est déjà présent
- etc