• Blog

  • Zatecus
    • PHP: Buscando informações do tempo em uma cidade
    • Enviado em 29/07/2010 14:46
    • É muito simples de fazer. Precisaremos de uma fonte de informações sobre o tempo (neste caso, utilizaremos um feed provido pelo Yahoo! Weather) e um pouco de PHP.


      Etapa 1 - Carregando e separando dados pelo PHP

      <?php
      
      // Código da cidade (Busque em http://www.edg3.co.uk/snippets/weather-location-codes/)
      $codigo = "BRXX0543";
      
      // Busca dados no provedor do Yahoo
      $data = @file_get_contents("http://weather.yahooapis.com/forecastjson?u=c&p={$codigo}")
      	 or die ('Ops! #1');
      
      // Se dados forem recebidos
      if ($data)
      {
      	// Decodifica JSON
      	$data = json_decode($data);
      	
      	// Separa apenas algumas informações dos dados
      	$cidade = $data -> location -> city;
      	$estado = $data -> location -> state_abbreviation;
      	$unidade = $data -> units -> temperature;
      	$temperatura = $data -> condition -> temperature;
      }
      else
      {
      	// Caixão
      	die('Ops! #2');
      }
      
      ?>
      

      Etapa 2 - HTML

      <html>
      	<head>
      		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      		<title>Bugiganga do tempo</title>
              <style type="text/css">
      			body {margin: 20px; font-family: Verdana; font-size: 12px;}
      		</style>
      	</head>
      	<body>
          	<p>A temperatura é de <b><?php echo $temperatura; ?></b>º <b><?php echo $unidade; ?></b> em <b><?php echo "{$cidade}/{$estado}"; ?></b>.</p>
      	</body>
      </html>
      

      • Como encontrar o código de uma cidade
      • Download do arquivo exemplo
      • Demonstração

      Um abraço a todos!


    Veja também:

    • PHP: Convertendo hyperlinks de string para HTML
    • PHP: Gerando hyperlinks do Twitter em string
    • Prêmio Peixe Grande 2010
    • PHP: Validar URL
    • Momento retrô: Antigas gerações do zatecus.com
  • Zatecus

  • Direitos reservados © MMIX-MMXIII
    Privacidade • Suporte • Contato

    • RSS
    • YouTube
    • LinkedIn
    • Twitter
    • Facebook
    • Topo
  • PayPal

Ok