Executer mon script en fonction d'un fichier txt.

elmaestro95 Messages postés 11 Date d'inscription dimanche 7 mars 2010 Statut Membre Dernière intervention 6 juin 2010 - 6 juin 2010 à 16:47
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 6 juin 2010 à 20:34
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

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
6 juin 2010 à 20:34
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
Rejoignez-nous