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: (8)

Non Sei Pratico di Codice? La funzione cURL non funziona sul tuo server? Allora guarda il mio Plugin per avere il Meteo di Google

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!

codice ok
nikola nikola - Inserito il: 02/11/10
provato. funziona. ottimo script. solo la ù di per lo più nuvoloso me la visualizza come una A. magari basta aggiungere tra e .

Localizzazione città visitatore
Carlo - Inserito il: 09/11/10
Ciao molto interessante il tuo codice, concludendo l'esercizio, sarebbe il massimo poter visualizzare le previsioni in base alla geolocalizzazione del visitatore...

Current condition e current icon
Alessandro A. - Inserito il: 21/12/10
Ciao, ho utilizzato il tuo script per implementare, con le previsioni meteo un sito istituzionale del comune in cui lavoro (provincia di vercelli), da qualche giorno però nel file xml non sono più valorizzate la current condition e la current icon..... tu hai idea del perchè? e come eventualmente segnalarlo a quelli di google. Grazie in anticipo per la risposta

Latitudine e longitudine
Angelo - Inserito il: 10/06/11
Ciao, io purtroppo possiedo solo i dati latitudine e longitudine, è possibile avere i dati metereologici con questi parametri?

meteo
Renato - Inserito il: 07/11/11
Grazie, ottimo script



(non visibile)







Captcha
Copia i caratteri che vedi sopra:

Tags: | torna su


Social Link:
linkedIn


Contattami su Skype:
Il mio stato


Realizzazione Siti Mobile e WebApps iPhone:

Vuoi Sviluppare l'Applicazione Mobile (WebApps) del tuo sito o della tua attività? un Applicazione Web, o pianificare la Realizzazione Sito Mobile? Contattami e scegli un Programmatore di WebApps Mobile e Programmatore di Siti Internet Mobile! Sviluppo WebApps per iPhone e Android

Collaborazioni:

Kuddle Network

antoniomaresca

cocreando

Scambio Link

Parlano di Me:

twago

Archivio Ultimi Articoli:

Risorse utili per un Programmatore PHP:
Sito Ufficiale del PHP , Download di PHP , Manuale e Documentazione PHP , Risorse e Siti Utili.

Cerchi un Programmatore PHP con esperienza consolidata? Molte aziende a Napoli, Milano, Roma e Ferrara si sono affidate a me. Contattami per una Consulenza Gratuita, per Realizzare un Applicazione Web o Sviluppare Siti Internet, Creare Portali Dinamici, o come Programmatore iPhone, Realizzazione Siti Mobile
 
Daniele Tabacco - Questo sito e' interamente realizzato da me secondo gli standard del W3C - css valido w3c css valido xhtml