OVH Community, votre nouvel espace communautaire.

PHP: afficher la météo


misterLuc
24/06/2011, 20h22
J'ai une petite fonction php qui va lire les infos chez weather.com (il faut s'inscrire, c'est gratuit).
Sur le site, y'a aussi des prévisions à 3, 5, 10 jours. Ca a l'air plutôt fiable.
Les icones nuage, soleil, etc sont dans un répertoire img/weather
La fonction est appelée depuis une page qui recherche les noms de ville dans le titre ou la description d'un évènement pour afficher la météo correspondante, y'a donc un peu plus loin une 40'aine de lignes pour initialiser la variable $zipcode si la chaine correspondante est trouvée.
Et les zipcodes, il faut aller les chercher sur le site.

Code PHP:
/*$zipcode = 'FRXX0141'; // Besancon
$zipcode = 'FRFC1007'; // Ornans
$zipcode = 'FRXX0153'; // Grenoble
$zipcode = 'FRMP0868'; // Gramat
$zipcode = 'FRXX6244'; // La Chapelle en Vercors*/

function show_weather_data($zipCode) {
  
$abstract=array("orages","pluie et vent","pluie et vent"
,"orages","4 T-Storms","pluie et neige"," 6 Rain Sleet","neige et pluie verglacante","8 Freezing Drizzle"," 9 Drizzle ","pluie verglacante","pluie","fortes pluies"," 13 Snow Flurries ","neige legere"," 15 Snowflakes ","neige abondante","orages"," 18 Hai"," 19 Dust","brouillard"," 21 Haze ","22 Smoke","vent fort","vent fort","25 Frigid ","nuageux","tres nuageux","tres nuageux","partiellement nuageux","partiellement nuageux","ciel degage","ensoleille","ciel degage","ciel degage","orages","chaud","orages isoles"," 38Scattered T-Storms","pluies eparses","fortes pluies","neige eparse","forte neige","neige et vent","partiellement nuageux","petites pluies eparses","neige","47 Scattered T-Storms Night");
  
$src=fopen("http://xoap.weather.com/weather/local/".$zipCode."?cc=*&&prod=xoap&par=TON_IDENTIFIANT_WEATHER&key=TA_CLE_WEATHER","rb");
//  if ($src==NULL) $src=fopen("default.xml","rb");
  
if ($src!=NULL) {
    
$xml_parser=xml_parser_create();
    while(!
feof($src)) $data=$data.fread($src,1024);
    
fclose($src);
    
xml_parse_into_struct($xml_parser,$data,$vals,$index);
    
xml_parser_free($xml_parser);
    
$t=true;
    foreach (
$vals as $key=>$i) {
      if (
$vals[$key]['value']!=false) {
        if (
$vals[$key]['tag']!='T') {
          
$temp=strtolower($vals[$key]['tag']);
          $
$temp=$vals[$key]['value'];
        }
        elseif (
$t==true) { 
          if (
$vals[$key]['level']==3$conditions=$vals[$key]['value']; 
          else { 
$windir=$vals[$key]['value']; $t=false; break; }
        } 
      }
    }
//    $date=date("l, F jS Y @ g:ia");
    
$tmp=round((($tmp-32)/9)*5);
    
$flik=round((($flik-32)/9)*5);
    
$temp_unit='°C';
    
$s=round($s*1.609);
    
$wind_unit='km/h';
    echo 
"";
    
style_plain();
    echo 
$dnam."\n
"
;
    echo 
$abstract[$icon]."
"
;
    echo 
"temperature : ".$tmp."°C
"
;
//    echo "temperature ressentie : ".$flik."°C
";
    
echo "vent : ".$s." km/h
"
;
//    echo "humidite : ".$hmid."%
";
    
echo "
";
    
style_plain();
    echo 
".$icon.".png'>
"
;
    echo 
".$zipCode."' target='new'>détails et prévisions ici...
\n"

  }
  else echo 
"Erreur de connexion au serveur meteo.";

Voilà, voilà, mon tout premier message...

Hugo
21/05/2011, 18h38
merci pour ton aide.

super-cool
15/05/2011, 08h08
script PHP
http://www.comscripts.com/scripts/php.script-meteo.2563.html


widget météo
http://www.my-meteo.fr/meteo+webmaster.html

Hugo
14/05/2011, 23h10
Quelqu'un at-il un script PHP qui affiche la météo d'une ville?