我们会看到很多网站都可以实时的显示当时当地的天气,下面我来告诉你这种实时天气的做吧,利用google aip接口即可实现获取不同城市的天气并显示在自己网站上。
se.php,代码如下:
- <?php
- $city = $_GET['city'];
- $data = createXml($city);
-
- $xml = simplexml_load_string($data);
- header("Content-type: text/xml");
- echo $xml->asXML();
-
-
- function createXml($city)
- {
-
- $weather = simplexml_load_file("http://www.google.com/ig/api?weather={$city}");
- if(isset($weather->weather->forecast_conditions))
- {
- $low = f2c($weather->weather->forecast_conditions->low['data']);
- $high = f2c($weather->weather->forecast_conditions->high['data']);
- return "<weather>n<city>{$city}</city>n<low>{$low}</low>n<high>{$high}</high></weather>n";
- }
- else
- {
- return "<weather>n</weather>n";
- }
- }
-
-
- function f2c($fahrenhite)
- {
- return floor(($fahrenhite - 32) / 1.8);
- }
客户端 c.php,代码如下:
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>天气查询</title>
- </head>
- <body>
- <form method="post" action="">
- <select name="city">
- <option value="0">请选择</option>
- <option value="beijing">北京</option>
- <option value="shanghai">上海</option>
- <option value="guangzhou">广州</option>
- <option value="wuhan">武汉</option>
- </select>
- <input type="submit" />
- </form>
- <?php
- if(!emptyempty($_POST['city']))
- {
- $city = $_POST['city'];
- $xml = simplexml_load_file("http://127.0.0.1/rest/se.php?city={$city}");
- $html = "<p>City:{$xml->city}</p>n";
- $html .= "<p>Low:{$xml->low}</p>n";
- $html .= "<p>High:{$xml->high}</p>n";
- echo $html;
- }
- ?>
- </body>
- </html>
|