Heim >Backend-Entwicklung >PHP-Tutorial >So entwickeln Sie mit PHP eine einfache Echtzeit-Wetterabfragefunktion

So entwickeln Sie mit PHP eine einfache Echtzeit-Wetterabfragefunktion

PHPz
PHPzOriginal
2023-09-24 12:03:411369Durchsuche

So entwickeln Sie mit PHP eine einfache Echtzeit-Wetterabfragefunktion

So entwickeln Sie mit PHP eine einfache Echtzeit-Wetterabfragefunktion

Vorwort:
Mit der kontinuierlichen Weiterentwicklung der Technologie schenken die Menschen dem Wetter immer mehr Aufmerksamkeit. Daher ist die Entwicklung einer Website oder Anwendung mit Echtzeit-Wetterabfragefunktion zu einer sehr beliebten Nachfrage geworden. In diesem Artikel wird PHP als Entwicklungssprache verwendet, die Verwendung von PHP zum Entwickeln einer einfachen Echtzeit-Wetterabfragefunktion vorgestellt und spezifische Codebeispiele bereitgestellt.

1. Wetterdaten abrufen
Um die Wetterabfragefunktion zu implementieren, müssen Sie zunächst Echtzeit-Wetterdaten abrufen. Derzeit gibt es viele Wetter-APIs auf dem Markt, die von Entwicklern verwendet werden können, beispielsweise die Alibaba Cloud Weather API, die Zephyr Weather API usw. Diese APIs stellen normalerweise HTTP-Schnittstellen bereit, und Wetterdaten können durch Senden von HTTP-Anfragen abgerufen werden. In diesem Artikel nehmen wir die Zephyr Weather API als Beispiel.

  1. Zephyr Weather API registrieren
    Zuerst müssen Sie ein Konto auf der Zephyr Weather Developer Platform registrieren und eine Anwendung erstellen. Nach Abschluss der Registrierung können Sie einen API-Schlüssel erhalten, der im nachfolgenden Code verwendet wird.
  2. Zephyr Weather API aufrufen
    Verwenden Sie die cURL-Funktion von PHP, um bequem HTTP-Anfragen zu senden. Das Folgende ist ein Beispielcode zum Abrufen von Wetterdaten:
<?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 . '℃';
?>

Im Code müssen Sie your_api_key durch den auf der Zefeng Weather Platform erhaltenen API-Schlüssel und Beijingersetzen > mit Der Name der Stadt, die abgefragt werden soll. Senden Sie eine HTTP-Anfrage, indem Sie die Funktion curl_exec aufrufen. Nachdem Sie die Antwort erhalten haben, verwenden Sie die Funktion json_decode, um die Wetterdaten im JSON-Format zu analysieren und dann das aktuelle Wetter und die aktuelle Temperatur abzurufen. und auf der Seite ausgeben. 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. Entwerfen Sie die Wetterabfrageschnittstelle. Nachdem Sie die Echtzeit-Wetterdaten erhalten haben, müssen Sie eine Benutzeroberfläche entwerfen, die es Benutzern ermöglicht, den Namen der Stadt einzugeben und auf die Abfrageschaltfläche zu klicken, um Wetterinformationen zu erhalten.


Das Folgende ist ein einfaches HTML-Formular zum Abfragen des Wetters:

rrreee🎜Im Code wird ein Formular verwendet, und das Attribut action des Formulars gibt die URL zum Senden der Abfrageanforderung an und legt sie fest zu query.php. Nachdem der Benutzer den Namen der Stadt in das Eingabefeld eingegeben und auf die Schaltfläche „Abfrage“ geklickt hat, werden die Formulardaten zur Verarbeitung an query.php übermittelt. 🎜🎜3. Verarbeiten Sie die Abfrageanforderung🎜Nachdem Sie die Abfrageanforderung erhalten haben, müssen Sie die Anforderungsdaten analysieren und die Zephyr-Wetter-API aufrufen, um Wetterdaten zu erhalten. 🎜🎜Das Folgende ist ein Codebeispiel von query.php: 🎜rrreee🎜Überprüfen Sie im Code zunächst, ob $_POST['city'] leer ist, wenn nicht leer Führen Sie dann eine Wetterabfrage durch, andernfalls geben Sie Eingabeaufforderungsinformationen aus. Die Logik der Wetterabfrage ist dieselbe wie beim vorherigen Code zum Abrufen von Wetterdaten. 🎜🎜Zusammenfassung: 🎜In diesem Artikel wird erläutert, wie Sie mithilfe von PHP eine einfache Echtzeit-Wetterabfragefunktion entwickeln, einschließlich des Abrufens von Wetterdaten, des Entwurfs der Abfrageschnittstelle und der Verarbeitung von Abfrageanforderungen. Durch API-Aufrufe können Echtzeit-Wetterinformationen abgerufen und auf der Benutzeroberfläche angezeigt werden. 🎜

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie mit PHP eine einfache Echtzeit-Wetterabfragefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn