PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법
머리말:
지속적인 기술 발전으로 사람들은 날씨에 점점 더 많은 관심을 기울이고 있습니다. 따라서 실시간 날씨 조회 기능을 갖춘 웹사이트나 애플리케이션을 개발하는 것이 매우 대중적인 수요가 되었습니다. 이 기사에서는 PHP를 개발 언어로 사용하고, PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법을 소개하고, 구체적인 코드 예제를 제공합니다.
1. 날씨 데이터 얻기
날씨 쿼리 기능을 구현하려면 먼저 실시간 날씨 데이터를 얻어야 합니다. 현재 시장에는 Alibaba Cloud Weather API, Zephyr Weather API 등과 같이 개발자가 사용할 수 있는 다양한 날씨 API가 있습니다. 이러한 API는 일반적으로 HTTP 인터페이스를 제공하며, HTTP 요청을 보내 날씨 데이터를 얻을 수 있습니다. 이 기사에서는 Zephyr Weather API를 예로 들어 보겠습니다.
<?php $key = 'your_api_key'; // 替换为您在和风天气平台上获得的API Key $location = '北京'; // 替换为需要查询的城市名称 $url = 'https://devapi.qweather.com/v7/weather/now?key=' . $key . '&location=' . urlencode($location); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); $weather = $data['now']['text']; $temperature = $data['now']['temp']; echo '当前天气:' . $weather . '<br>'; echo '当前温度:' . $temperature . '℃'; ?>
코드에서 your_api_key
를 Zefeng Weather Platform에서 얻은 API 키로 바꾸고 Beijing
쿼리할 도시의 이름을 사용합니다. curl_exec
함수를 호출하여 HTTP 요청을 보냅니다. 응답을 받은 후 json_decode
함수를 사용하여 JSON 형식의 날씨 데이터를 구문 분석한 다음 현재 날씨와 온도를 가져옵니다. 그리고 페이지에 출력합니다. your_api_key
替换为在和风天气平台上获得的API Key,北京
替换为需要查询的城市名称。通过调用curl_exec
函数发送HTTP请求,在获得响应后,使用json_decode
函数解析JSON格式的天气数据,然后获取当前的天气和温度,并输出到页面上。
二、设计天气查询界面
在获取了实时天气数据后,接下来需要设计一个用户界面,让用户可以输入城市名称,点击查询按钮来获取天气信息。
以下是一个简单的HTML表单,用于查询天气:
<!DOCTYPE html> <html> <head> <title>实时天气查询</title> </head> <body> <h1>实时天气查询</h1> <form action="query.php" method="post"> <label for="city">城市名称:</label> <input type="text" id="city" name="city" required> <button type="submit">查询</button> </form> </body> </html>
在代码中,使用了一个表单,表单的action
属性指定了发送查询请求的URL,将其设置为query.php
。用户在输入框中输入城市名称后,点击查询按钮,表单数据将被提交到query.php
进行处理。
三、处理查询请求
在接收到查询请求后,需要解析请求数据,并调用和风天气API获取天气数据。
以下是query.php
的代码示例:
<?php if (!empty($_POST['city'])) { $key = 'your_api_key'; // 替换为您在和风天气平台上获得的API Key $location = $_POST['city']; $url = 'https://devapi.qweather.com/v7/weather/now?key=' . $key . '&location=' . urlencode($location); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); $weather = $data['now']['text']; $temperature = $data['now']['temp']; echo '当前城市:' . $location . '<br>'; echo '当前天气:' . $weather . '<br>'; echo '当前温度:' . $temperature . '℃'; } else { echo '请输入要查询的城市名称。'; } ?>
在代码中,首先检查$_POST['city']
실시간 날씨 데이터를 얻은 후 사용자가 도시 이름을 입력하고 쿼리 버튼을 클릭하면 날씨 정보를 얻을 수 있는 사용자 인터페이스를 디자인해야 합니다.
action
속성은 쿼리 요청을 보낼 URL을 지정하고 이를 설정합니다. query.php
로. 사용자가 입력 상자에 도시 이름을 입력하고 쿼리 버튼을 클릭하면 양식 데이터가 처리를 위해 query.php
에 제출됩니다. 🎜🎜3. 쿼리 요청 처리🎜 쿼리 요청을 받은 후 요청 데이터를 구문 분석하고 Zephyr Weather API를 호출하여 날씨 데이터를 얻어야 합니다. 🎜🎜다음은 query.php
의 코드 예입니다. 🎜rrreee🎜코드에서 먼저 $_POST['city']
가 비어 있는지 확인하세요. 그런 다음 날씨 쿼리 작업을 수행하고, 그렇지 않으면 프롬프트 정보를 출력합니다. 날씨 쿼리의 로직은 날씨 데이터를 얻기 위한 이전 코드와 동일합니다. 🎜🎜요약: 🎜이 기사에서는 PHP를 사용하여 날씨 데이터 가져오기, 쿼리 인터페이스 설계 및 쿼리 요청 처리를 포함하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법을 소개합니다. API 호출을 통해 실시간 날씨 정보를 얻어 사용자 인터페이스에 표시할 수 있습니다. 🎜위 내용은 PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!