Par George

Avatar de George

Récupérer la météo d’une ville en PHP

El anemómetroAyant récemment confronté au problème énoncé dans le titre de cet article, je vous livre ici le résultat d’un travail que je n’oserai décemment qualifier d’acharné mais que vous serez peut-être heureux de ne pas avoir à refaire par vous même.

Les informations météorologiques que vous convoitez sont gracieusement mise à disposition par l’université du Wyoming à l’adresse suivante : http://weather.uwyo.edu/surface/meteogram/.

Comme quoi, quand ils ne font pas la guerre à droite à gauche, ils sont sympa ces américains !

Voici une fonction permettant d’extraire la température de ce site :

function getTemperature($station = 'LFPB') {
	// LFPB correspond au code de Paris
	//  Pour trouver le code d'une station : http://weather.uwyo.edu/surface/meteogram/
	$file = file_get_contents('http://weather.uwyo.edu/cgi-bin/wyowx.fcgi?TYPE=sflist&DATE=current&HOUR=current&UNITS=A&STATION='.$station);
	$infos = explode('============', $file);
	$lignes = explode($station, $infos[1]);
	//isoler la portion de ligne intéressante
	$temperature = substr($lignes[1], 16, 3);
	return $temperature;
}

Et comme vous souhaiterez probablement convertir cette température exprimée en degrés Farenheit par une unité plus standard sous nos contrées, voici une petite fonction convertissant degrés Farenheit en degrés Celsius :

function FarenheitToCelsius($temperature) {
	return round((5/9)*$temperature-160/9);
}

Pour choisir le code correspondant à votre ville, servez vous de la carte interactive dont je viens de vous donner l’adresse, et récupérez le $_GET['STATION'] (la dernière valeur après le signe = dans l’url, pour les incultes ;)

2 commentaires

Poster un commentaire

Subscribe without commenting