Parser un répertoire de fichiers DATA pour intégration MySQL
Posté : 01 oct. 2013, 17:03
Bonjour!
De façon journalière sur un répertoire dédié, plusieurs fichiers .DATA (c'est du texte lisible via le bloc-note) de données sont déposés tous du même type :
Fichier fic34154001-2013-09-30.data :
Le premier chiffre est le nom de la table SQL, le second la date, le dernier la valeur.
Une fois bien intégré (confirmation MySQL), on supprime le fichier et on passe au suivant (ou on fait un traitement en lot sachant que ce sera la même base mais des tables différentes). A la moindre erreur, on envois un mail d'alerte.
Bon déjà un tout petit début basique de chez basique :
Cela donne :
Grand merci et bonne journée!
De façon journalière sur un répertoire dédié, plusieurs fichiers .DATA (c'est du texte lisible via le bloc-note) de données sont déposés tous du même type :
Fichier fic34154001-2013-09-30.data :
Je souhaite créer un script PHP exécuté via CRON permettant de parser ces données pour les intégrer dans une base MySQL.POSTE;DATE;GLOT
34154001;20130929;1168
Le premier chiffre est le nom de la table SQL, le second la date, le dernier la valeur.
Une fois bien intégré (confirmation MySQL), on supprime le fichier et on passe au suivant (ou on fait un traitement en lot sachant que ce sera la même base mais des tables différentes). A la moindre erreur, on envois un mail d'alerte.
Bon déjà un tout petit début basique de chez basique :
Code : Tout sélectionner
<?php
$data = file_get_contents('fic34154001-2013-09-30.data');
$matches = array();
$tab_result = array();
foreach(explode("\n", $data) as $line)
{
if(!empty($line))
{
preg_match('/(\d+);(\d+);(\d+)/', $line, $matches);
print_r($matches);
}
}
?>Array ( ) Array ( [0] => 34154001;20130929;1168 [1] => 34154001 [2] => 20130929 [3] => 1168 )
Grand merci et bonne journée!