Problème avec un script météo.

Problème avec un script météo. - PHP - Programmation

Marsh Posté le 26-12-2005 à 21:45:35    

Bonsoir à tous,
 
Voila en fait j'ai installé un script pour avoir les prévisions météo de plusieur villes, http://www.meteonews-fr.com/meteo.php , mais le procblème c'est que je voudrai à la place de "Rain/Snows" , mettre un des mes pictogrammes. Est ce que cela est possible ?
 
Merci d'avance et bonne soirée.
 
Voici le script :  
 

Citation :

<?
setlocale(LC_TIME, "fr_FR" ); // ou "fr"
 
$partner = "";
$ville = "FRXX0204"; $vname="Foix";
$jours = 10;
$url = "http://xoap.weather.com/weather/local/".$ville."?cc=*&unit=s&dayf=".$jours;
 
// Conversion Fahrenheit->Celsius
function f2c($t) { return round(($t-32)*5/9); }
 
// Lecture d'un fichier XML
function lit_xml($chaine,$isFile,$item,$champs) {
   // on lit le fichier ou la chaîne
   if($isFile) $chaine = @file_get_contents($chaine);
   if($chaine) {
      // on explode sur <item>
      $tmp = preg_split("/<\/?".$item.">/",$chaine);
      // pour chaque <item>
      for($i=1;$i<sizeof($tmp);$i++)
         // on lit les champs demandés <champ>
         foreach($champs as $champ) {
            $tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
            // on ajoute au tableau
            $tmp3[$champ][] = trim(@$tmp2[1]);
         }
      // et on retourne le tableau
      return @$tmp3;
   }
}
 
// Extraction primaire
$xml = lit_xml($url,true,"day d=.*",array("hi","low","part p=\"d\"","part p=\"n\"" ));
 
// Extraction des icones, messages et du taux d'humidité
for($i=0;$i<$jours;$i++) {
   $tmp = preg_split("/<\/?icon>/",$xml["part p=\"d\""][$i]);
   $xml["icond"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?t>/",$xml["part p=\"d\""][$i]);
   $xml["altd"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?hmid>/",$xml["part p=\"d\""][$i]);
   $xml["hmid"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?icon>/",$xml["part p=\"n\""][$i]);
   $xml["iconn"][$i] = $tmp[1];
   $tmp = preg_split("/<\/?t>/",$xml["part p=\"n\""][$i]);
   $xml["altn"][$i] = $tmp[1];
}
 
?>
 
<STYLE type="text/css"><!--
   .fond { background-color:#669999 }
   .corps { background-color:#D8E9EC }
   .titre { color: #FFFFFF }
   .sstitre { color: #858586 }
--></STYLE>
 
<table class=fond>
   <tr>
  <td class=titre><strong>Pr&eacute;visions M&eacute;t&eacute;o sur  
   <?=$vname?>
   </strong></td>
 </tr>
 
   <? for($i=0;$i<$jours;$i++) { ?>
      <tr><td class=corps><table>
      <tr>
         <td colspan=3 class=sstitre><strong>
            <?=ucfirst(strftime("%A %d %B %Y",time()+$i*24*3600))?>
         </strong></td>
      </tr>
      <tr>
         
     <td>Temp&eacute;ratures Maximale :  
      <?=($xml["hi"][$i]=="N/A" )?"N/A":f2c($xml["hi"][$i])."°C"?>
     </td>
         <td class=sstitre>JOUR</td>
         <td class=sstitre>NUIT</td>
      </tr>
      <tr>
         
     <td>Temp&eacute;ratures Minimale :  
      <?=($xml["low"][$i]=="N/A" )?"N/A":f2c($xml["low"][$i])."°C"?>
     </td>
         <td rowspan=2><img src="img/<?=$xml["icond"][$i]?>.png"
            width=40 alt="<?=$xml["altd"][$i]?>"></td>
         
     <td rowspan=2><img src="img/<?=$xml["iconn"][$i]?>.png"
            width=40 alt="<?=$xml["altn"][$i]?>"></td>
      </tr>
      <tr>
         
     <td>Pourcentage d'humidit&eacute; :  
      <?=$xml["hmid"][$i]?>
     </td>
      </tr>
      </table></td></tr>
   <? } ?>
 
 
</table>


Message édité par Damien09 le 27-12-2005 à 19:48:02
Reply

Marsh Posté le 26-12-2005 à 21:45:35   

Reply

Marsh Posté le 26-12-2005 à 22:18:51    

Ca doit surement être possible.  
Via un ereg_replace qui remplace "Rain/Snows" par une balise <img> et tout ce qui s'en suit.

Reply

Marsh Posté le 27-12-2005 à 19:47:08    

Euh pourrais-tu être un peu plus précis ?
 
Merci d'avance :)

Reply

Marsh Posté le 28-12-2005 à 02:07:10    

D'abord, je résiste pas à un jugement de valeur sur ce code PHP : c'est de la merde. :o
 
Pour ton problème, voici un extrait du code HTML :

Code :
  1. <td>Temp&eacute;ratures Minimale :
  2.      -5°C     </td>
  3.          <td rowspan=2><img src="img/44.png"
  4.             width=40 alt="N/A"></td>
  5.        
  6.     <td rowspan=2><img src="img/33.png"
  7.             width=40 alt="Mostly Clear"></td>

As-tu remarqué le <img src="img/33.png"... ?
Il te maque donc juste un répertoire img dans celui du script avec quelques icônes.


Message édité par kalex le 28-12-2005 à 02:09:28
Reply

Marsh Posté le 28-12-2005 à 12:00:09    

Ok merci, je viens d'y arriver.
 
Bonne journée.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed