|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2002 Messages : 24 ![]() |
Bonjour a tous
Voila en fait j'ai un programme qui tourne en local, celui ci permet d'enregistrer l'etat de fonction et la date ( separé par un " ; ")dans un fichier et ce ci a chaque changement d'etat du moteur. Toutes les 10 min par exemple ce meme programme upload le fichier vers un site internet. sur se site internet il y a une base de données comment faire pour inserrer tout ca dans la base de données automatiquement et ceci a chaque fois qu'il y a un nouvel envoi et des que l'operation est terminé suprimer le fichier du site internet et envoyer un message a l'ordinateur. Pour info le programme est ecrit en defphi, le site internet en php html et la base de données Mysql. Merci de votre aide |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Je vois plusieurs étapes :
Je te propose de travailler sur les deux étapes séparément. D'abord tu parse un pseudo-fichier représentatif pour afficher à l'écran les variable dont tu auras besoin par la suite. Un bon exercice, serait de l'écrire dans un tableau html.... fonctions utiles : file, fgetcsv, fgets, ... Ensuite, une fois que tu maitrise la première étape, tu t'occupe de la suivante. Tu suit les tutoriels de mises à jour de bd mysql, et ca devrait être total bonheur pour toi... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2005 Messages : 1 ![]() |
hello,
j'ai du faire un truc dans le genre (upload journalier d'un fichier de données xml à injecter dans la BD d'un site web). Mais je me suis vite rendu compte que c'était trop gourmand de traiter directement le xml (ben oui le fichier pesait +20 Mo) donc je transformait le fichier en csv avant de l'uploder. si tu fais un beau fichier cvs, pas besoin de te prendre la tête, injection direct dans la base de données avec la requête idoine (lancement d'un petit script php avec un zoli cron quotidine dans mon cas / toutes les 10 min pour toi), oublie pas de compresser les données avant l'upload... enfin c'est un conseil tu en fais ce que tu veux // si tu upload un fichier compressé: ben commence par decompresser: function fdegzip($infile,$outfile){ $res=false; if($fin = gzopen($infile, 'rb')){ if($fout = fopen($outfile, 'wb')){ $res=true; while (!gzeof($fin)) { $buffer = gzread($fin, 1024); if(false===fwrite($fout,$buffer)) $res=false; } fclose($fout); } gzclose($fin); } return $res; } file_exists('/home/chemindufichier/'.$today.'.gz') or die('/home/chemindufichier/'.$today.'.gz introuvable !'); fdegzip('/home/chemindufichier/'.$today.'.gz','/home/chemindufichier/'.$today.'.csv') or die('echec decompression'); // Connexion et sélection de la base $link = mysql_connect("localhost", "username", "password") or die("MySQL: Connection failed"); mysql_select_db("database") or die("Could not select database"); // Exécuter requêtes SQL // à adapter à ton format csv // naturellement faut que la table et le csv se corresponde $query='LOAD DATA INFILE "/home/chemindufichier/'.$today.'.csv" INTO TABLE `tatable` FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY "\'"'; $result = mysql_query($query) or die(mysql_errno($link) . ": " . mysql_error($link). "\n"); // Fermeture de la connexion mysql_close($link); // et nettoyage des fichiers @unlink('/home/chemindufichier/'.$today.'.gz') @unlink('/home/chemindufichier/'.$today.'.csv') a+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com