Bonsoir, après 24 heures de test le script fonctionne 98%. Car LE premier Tempo trouvé dans le fichier n'est pas supprimé. Pour tout dire je rajoute une variable qui correspond au jour que je dois supprimer, car les données sont trop lointaines. Voilà j 'espère être complet
Voici le fichier TXT non traité par le Script
2021/05/24 18:21
TAF LFLX 241700Z 2418/2524 24015G25KT 9999 BKN040 PROB40
TEMPO 2418/2421 24020G35KT 4000 SHRA SCT025CB PROB30
TEMPO 2418/2421 2000 TSRA BKN020 BKN040CB
BECMG 2421/2423 23010KT
TEMPO 2502/2505 BKN010 PROB40 <===== cette ligne n'est pas supprimée
TEMPO 2510/2518 27015G25KT 4000 -SHRA BKN030TCU
Le même traité par le script
2021/05/24 18:21
TAF LFLX 241700Z 2418/2524 24015G25KT 9999 BKN040 PROB40
TEMPO 2418/2421 24020G35KT 4000 SHRA SCT025CB PROB30
TEMPO 2418/2421 2000 TSRA BKN020 BKN040CB
BECMG 2421/2423 23010KT
TEMPO 2502/2505 BKN010 PROB40
Voici la partie du Script qui traite les données
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
| <? php
$jour;
$diff = date ('d', strtotime($jour. ' + 1 days'));
$file = "https://xxxxxxxxxxxxxxxxxxxxx/data/forecasts/taf/stations/$id.TXT";
$newfile = 'file.txt';
if (!copy($file, $newfile)) {
//echo "La copie $file du fichier a échoué...\n";
}
$file = array_chunk(array_filter(explode("\n", str_replace(array("\n\t", "\r"), "", file_get_contents('file.txt')))), 2);
$contents = '';
foreach($file as $lines) {
if(substr_count($lines[0], "TEMPO $diff") === 0) { // c 'est là que je rajoute l 'heure pour ne supprimer que les lignes datées,du jour suivant
$contents.= implode("\n", $lines) . "\n";
}
}
file_put_contents('file.txt', $contents);
//var_dump(file_get_contents('file.txt'));
?> |
Partager