1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
$filename = "nomxml.xml";
$tmpexecdeb=getmicrotime();
$tMo=floor(filesize($filename)/1048576);
$limite_basse=0; // limite minimum en Mo pour mettre à jour les flux
$nbsejinsert=0; // nb de séjours insérés
$nbvoyainsert=0; //nb de voyagistes insérés
/* On vide les tables séjours et voyagistes */
mysql_query("DELETE FROM lesvoyagistes");
mysql_query("DELETE FROM lessejours");
if ($tMo>=$limite_basse){
//echo "Limite Basse dépassée, début du parsage enclenché.<br>";
$contenuxml = implode("",file($filename));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$contenuxml,$valeurs,$lesindex);
xml_parser_free($parser);
$nb=count($valeurs);
$count=0;
$messdebug=$nb. " tableaux de tags lus dans le fichier XML.";
$req_insert_log="INSERT INTO logs(log, dateheure) VALUES('$messdebug','".Date("Y-m-d H:i:s")."');";
$res=mysql_query($req_insert_log);
//foreach($valeurs as $tags){
for ($i=0; $i<$nb;$i++){
$tags=$valeurs[$i];
if ($tags['tag']=="tagexemple"){
/* Traitement du tag 'tagexemple' */
}
/* .... ICI traitement de tous les tags .... */
else if (($tags['tag']=='url') && ($tags['type']=='complete')) {
$url=$tags['value'];
$req_insert_voyagiste='ma requete insertion voyagiste';
mysql_query($req_insert_voyagiste);
$nbvoyainsert++;
}
else if (($tags['tag']=="voyagistes") && ($tags['type']=='open')) {
$req_insert_sejour='ma requete insertion sejour;';
mysql_query($req_insert_sejour);
$nbsejinsert++;
//echo $nbsejinsert." séjours insérés<br>";
}//fin si on commence à lire la liste des voyagistes
}//fin boucle sur les tags
}// fin si limite basse dépassée
$messdebug="Boucle des insertions terminée.";
$req_insert_log="INSERT INTO logs(log, dateheure) VALUES('$messdebug','".Date("Y-m-d H:i:s")."');";
$res=mysql_query($req_insert_log);
/* Contrôles de fin de procédure */
$tmpexec=getmicrotime()-$tmpexecdeb;
$min=floor($tmpexec/60);
$sec=floor($tmpexec-($min*60));
$speed=floor((filesize($filename)/1024)/$tmpexec);
$rapport_log="Taille du fichier : ".$tMo." Mo<br>";
$rapport_log.= $nbsejinsert . " séjours insérés.<br>";
$rapport_log.= $nbvoyainsert . " voyagistes insérés.<br>";
$rapport_log.= "Durée : " . $min . " min ".$sec." sec.<br>";
/* Enregistrement du log */
$req_insert_log="INSERT INTO logs(log, dateheure) VALUES('$rapport_log','".Date("Y-m-d H:i:s")."');";
$res=mysql_query($req_insert_log);
$messdebug="Enregistrement du log terminé.";
$req_insert_log="INSERT INTO logs(log, dateheure) VALUES('$messdebug','".Date("Y-m-d H:i:s")."');";
$res=mysql_query($req_insert_log); |
Partager