>  기사  >  백엔드 개발  >  PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법

PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법

PHPz
PHPz원래의
2023-09-24 12:03:411324검색

PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법

PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법

머리말:
지속적인 기술 발전으로 사람들은 날씨에 점점 더 많은 관심을 기울이고 있습니다. 따라서 실시간 날씨 조회 기능을 갖춘 웹사이트나 애플리케이션을 개발하는 것이 매우 대중적인 수요가 되었습니다. 이 기사에서는 PHP를 개발 언어로 사용하고, PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법을 소개하고, 구체적인 코드 예제를 제공합니다.

1. 날씨 데이터 얻기
날씨 쿼리 기능을 구현하려면 먼저 실시간 날씨 데이터를 얻어야 합니다. 현재 시장에는 Alibaba Cloud Weather API, Zephyr Weather API 등과 같이 개발자가 사용할 수 있는 다양한 날씨 API가 있습니다. 이러한 API는 일반적으로 HTTP 인터페이스를 제공하며, HTTP 요청을 보내 날씨 데이터를 얻을 수 있습니다. 이 기사에서는 Zephyr Weather API를 예로 들어 보겠습니다.

  1. Zephyr Weather API 등록
    먼저 Zephyr Weather 개발자 플랫폼에 계정을 등록하고 애플리케이션을 만들어야 합니다. 등록이 완료되면 후속 코드에 사용될 API Key를 얻을 수 있습니다.
  2. Zephyr Weather API 호출
    PHP의 cURL 기능을 사용하여 HTTP 요청을 편리하게 보내세요. 다음은 날씨 데이터를 얻기 위한 샘플 코드입니다.
<?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']

2. 날씨 쿼리 인터페이스 디자인

실시간 날씨 데이터를 얻은 후 사용자가 도시 이름을 입력하고 쿼리 버튼을 클릭하면 날씨 정보를 얻을 수 있는 사용자 인터페이스를 디자인해야 합니다.

다음은 날씨를 쿼리하기 위한 간단한 HTML 양식입니다. 🎜rrreee🎜 코드에서 양식이 사용되며 양식의 action 속성은 쿼리 요청을 보낼 URL을 지정하고 이를 설정합니다. query.php로. 사용자가 입력 상자에 도시 이름을 입력하고 쿼리 버튼을 클릭하면 양식 데이터가 처리를 위해 query.php에 제출됩니다. 🎜🎜3. 쿼리 요청 처리🎜 쿼리 요청을 받은 후 요청 데이터를 구문 분석하고 Zephyr Weather API를 호출하여 날씨 데이터를 얻어야 합니다. 🎜🎜다음은 query.php의 코드 예입니다. 🎜rrreee🎜코드에서 먼저 $_POST['city']가 비어 있는지 확인하세요. 그런 다음 날씨 쿼리 작업을 수행하고, 그렇지 않으면 프롬프트 정보를 출력합니다. 날씨 쿼리의 로직은 날씨 데이터를 얻기 위한 이전 코드와 동일합니다. 🎜🎜요약: 🎜이 기사에서는 PHP를 사용하여 날씨 데이터 가져오기, 쿼리 인터페이스 설계 및 쿼리 요청 처리를 포함하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법을 소개합니다. API 호출을 통해 실시간 날씨 정보를 얻어 사용자 인터페이스에 표시할 수 있습니다. 🎜

위 내용은 PHP를 사용하여 간단한 실시간 날씨 쿼리 기능을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.