Traitement fichier distant
Bonjour,
j'ai décidé de m'accaparer la rubrique PHP ...
Je souhaite récupérer les cours euros/dollars grâce au fichier de la Banque de France suivant :
banque-france.fr J'ai créé un mini-script qui me permet de rentrer tout ça dans une base mais je rencontre un petit problème.
Parfois, le cours n'existe pas et à cet endroit, le fichier affiche ND (exemple au 01/05/2007)
J'en profite pour faire un tour dans le code que génère mon script et là, je me rend compte que le code contient un saut de ligne derrière le taux (ou le ND).
Je souhaitais demander au script d'afficher un message si il trouve ND mais la condition ( if $devise == 'ND' ) ne fonctionne pas, apparemment le 'ND' contient "autre chose d'invisible". De plus si je demande au script de n'afficher par exemple le cours que s'il trouve une valeur numérique (is_numeric), il considère les cours comme non numériques (ou non flottants avec is_float) ...
J'ai l'impression que le fichier contient une sorte de formatage invisible. Que faire ?
<?php
$adresse = 'http://www.banque-france.fr/fr/poli_mone/taux/telnomot/qs.d.ceurusci.txt';
$fichier_devises = array_reverse ( file ( $adresse ) ); // On lit le fichier et on inverse le tableau
$i = 1 ;
while ( $i < ( count ($fichier_devises) - 8 ) ) // On retire 8 pour les lignes de texte inutiles
{
$devises = split ( ';' , $fichier_devises[$i] ) ; // On sépare la date du taux
$annee = split ( '/' , $devises[0] ) ; // On rentre la date dans une variable
$annee = $annee[2] . '-' . $annee[1] . '-' . $annee[0] ; // On met la date au format SQL
echo $annee ; // On affiche la date
echo ' - ';
if ( $devises[1] == 'ND' ) { echo 'Pas de cours' ; } // Si il n'y a pas de cours
else { echo $devises[1] ; } // Sinon on affiche le cours
echo '<br />';
$i ++ ; // On incrémente
}
?>