Script PHP Meteo | Previsioni Meteo con PHP e Google Weather API | Programmatore PHP | Programmatore MySQL | Sviluppo Siti Internet
Previsioni Meteo con PHP e Google Weather API
Scritto da: Daniele Tabacco | Categoria: Programmatore PHP|commenti Commenti: (0)

In questi giorni, come Programmatore PHP in un attività di Consulenza ho avuto l'esigenza per un sistema di Booking Online di fornire un servizio semplice, cioè un Meteo con le previsioni dei prossimi giorni.

Pur essendo disponibile una moltitudine di siti internet che offrono il proprio codice da copiare e incollare nel proprio sito, per ragioni di Ottimizzazione del Codice e per evitare URL che puntassero all'esterno, come Programmatore PHP ho preferito utilizzare le Google Weather API per creare un piccolo script che ognuno di voi portrà facilmente personalizzare che permetta la generazione di un Meteo PHP utile per le esigenze base di ogni utente.

In questo esempio è possibile vedere il risultato del nostro script, inoltre consiglio ad ogni Programmatore PHP lo studio di alcune funzioni presenti all'interno dello script come la funzione curl_setopt o simplexml_load_file

<?php
// Creiamo un file fisico per evitare problemi di configurazione che si manifestano su alcuni server
$ch = curl_init("http://www.google.com/ig/api?weather=Napoli&hl=it");
$fp = fopen("weather.xml", "w");
//Con la funzione CURL settimano i parametri in maniera che l'XML venga letto correttamente (encoding)
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
//Leggiamo l'XML delle previsioni
$xml = simplexml_load_file("weather.xml");
$current = $xml->xpath("/xml_api_reply/weather/current_conditions");
$forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions");
?>
<h2>Napoli - Oggi</h2>
<div class="weather">
<img src="<?= 'http://www.google.com' . $current[0]->icon['data']?>" alt="weather"/>
<span class="condition">
<br/><?= $current[0]->temp_c['data'] ?>&deg; C<br/>
<?= $current[0]->condition['data'] ?>
</span>
</div>
<h2>Previsioni Prossimi Giorni</h2>
<? foreach ($forecast_list as $forecast) : ?>
<div class="weather">
<img src="<?= 'http://www.google.com' . $forecast->icon['data']?>" alt="weather"/>
<div><?= ucfirst($forecast->day_of_week['data']); ?></div>
<span class="condition">
<?= $forecast->low['data'] ?>&deg; C - <?= $forecast->high['data'] ?>&deg; C<br/>
<?= $forecast->condition['data'] ?>
</span>
</div>
<br/>
<? endforeach ?>

Commenti:
previsioni meteo da GOOGLE Weather
Giancarlo Lucioli - Inserito il: 19/05/10
Ho appena letto questo tuo codice, non l'ho provato (lo farò quanto prima) lo trovo utilissimo. Io vengo da poco da un corso in php avanzato in cui mi sono cimentato in questo problema delle previsioni ma ho seguito una strada leggermente diversa. Vedrò quale è più semplice ma ad occhio mi sembra questa.
Nessun Errore
Daniele Tabacco - Inserito il: 27/05/10
Grazie Gabriele, in effetti potrebbe sembrare un errore ma non lo è, probabilmente è stato un errore mio scrivere nel primo elemento del meteo "oggi" e non "adesso" (ma ho modificato grazie a te) perchè il primo elemento che restituisce il meteo è proprio la situazione attuale che può essere diversa da quella dl giorno. Ad Esempio, la giornata di oggi può essere parzialmente nuvolosa ma in questo momento ci può essere o il sole o la pioggia. Spero di aver reso l'idea.
Problemuccio (Forse)
Gabriele - Inserito il: 26/05/10
Cercando in rete mi sono imbattuto nel tuo script e mi servirebbe proprio una cosa del genere per il mio sito. Ho notato però che anche nell'esempio c'è un problema(su due piedi mi viene da pensare che nn dipende dal tuo script). Oggi è mercoledì quindi sotto napoli oggi dovrebbe essere tale giornata, perchè sotto invece c'è un'altra volta mercoledì?Tra l'altro non è neppure una ripetizione, perchè l'icona è diversa. Riesci a darmi qualche spiegazione? Grazie in anticipo!



(non visibile)







Captcha
Copia i caratteri che vedi sopra:

Tags: | torna su


linkedIn


Contattami su Skype:
Il mio stato

Archivio Articoli:

Cerchi un Programmatore PHP con esperienza consolidata, già molte aziende a Napoli, Milano, Roma e Ferrara si sono affidate a me. Contattami per una Consulenza Gratuita, per Realizzare Applicazioni Web o Sviluppare Siti Internet e Creare Portali Dinamici.

Risorse utili per PHP:


Partners & Consigliati:

NGMWeb Hosting & Servizi

MioMotore Directory Gratis

ADServer Gestione Banner

MiniSito Ottimizzato NGMWeb.net



Collaborazioni:


antoniomaresca


ngmweb


cocreando
 
Daniele Tabacco - Questo sito e' interamente realizzato da me secondo gli standard del W3C - css valido w3c css valido xhtml