Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Mostrar a previsão do tempo com PHP
Linux user
Publicado por Renan Martins Pimentel em 22/11/2011

Login: renanmpimentel, 18275 pontos | Blog: http://www.renanmpimentel.com.br
[ Hits: 1640 ]

Mostrar a previsão do tempo com PHP

Veja como é fácil mostrar a previsão do tempo em seu site, usando uma API do Google.

Como é vista a URL da API

Surgiu um trabalho em que o cliente pedia a previsão do tempo em um site. Fui pesquisar e vi que em alguns sites tem um iframe para você só inserir os dados, e com isso ficaria aparecendo o 'logo' destes sites. Mas porque vou fazer propaganda para eles?

Então, fui pesquisando e achei mais uma das maravilhosas APIs do Google. E a resposta do Google vem em formato XML.

Vamos usar a classe SimpleXML (PHP 5) para manipular esses dados.

O script todo funciona de uma forma simples, através da URL você passa os dados necessários para mostrar a previsão do tempo:

http://www.google.com/ig/api?weather=Maringa,Parana,Brazil&hl=pt-br

Onde está 'Weather' são as informações básicas: primeiro a cidade: Maringá, estado: Paraná e por final o país: Brazil (estamos escrevendo com "z", porque em inglês é assim que se escreve), e no 'hl' é o idioma que queremos a resposta da consulta.

Aproveitando tudo isso com o PHP:

<?php // Localização $cidade = 'Maringa'; $estado = 'Parana'; // Estado (sem abreviação!) $pais = 'Brazil'; $idioma = 'pt-br'; // URL principal da API $googleWeather = 'http://www.google.com/ig/api'; ?>

Agora vamos montar a nossa URL:

<?php $apiUrl = $googleWeather . '?weather=' . urlencode($cidade) . ',' . urlencode($estado) . ',' . urlencode($pais) . '&hl=' . $idioma; //urlencode - Codifica uma URL ?>

Passando os valores para o SimpleXML:

<?php // Pegamos o resultado da API $resultado = file_get_contents($apiUrl); // O SimpleXML precisa receber valores em UTF-8, então usamos o uft8_encode() $xml = simplexml_load_string(utf8_encode($resultado)); ?>

Separando as informações:

<?php // Separamos as informações encontradas $info = $xml->xpath('/xml_api_reply/weather/forecast_information'); $atual = $xml->xpath('/xml_api_reply/weather/current_conditions'); $proximos = $xml->xpath('/xml_api_reply/weather/forecast_conditions'); ?>

Exibindo as informações no HTML:

<h2>Previsão do Tempo - <?php echo date('d/m/Y', strtotime($info[0]->forecast_date['data'])); ?></h2> <p>Cidade: <?php echo $info[0]->city['data']; ?></p> <h3>Previsão Atual</h3> <table> <tr> <td><img src="http://www.google.com<?php echo $atual[0]->icon['data']; ?>" alt="weather" /></td> <td><?php echo $atual[0]->temp_c['data']; ?>° C<br /><?php echo $atual[0]->condition['data']; ?></td> </tr> </table> <h3>Próximos dias</h3> <table> <?php foreach ($proximos AS $item) { ?> <tr> <td><?php echo $item->day_of_week['data'];?></td> <td>weatherlow['data']; ?>/<?php echo $item->high['data']; ?>° C<br /><?php echo $item->condition['data']; ?></td> </tr> <?php } ?> </table>

Referências: Previamente publicado em:


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada Usando o Return Query
   Dica Linux recomendada Corrigindo o problema das teclas CTRL+F2 e ALT+F2 no Gentoo
   Dica Linux recomendada Explorando seu hardware III
   Dica Linux recomendada Resolvendo o problema do flash player 10 no Plone
   Dica Linux recomendada CentOS 5 - Desabilitando serviços desnecessários

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.