Rumah > pembangunan bahagian belakang > tutorial php > Cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang mudah

Cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang mudah

PHPz
Lepaskan: 2023-09-24 12:40:01
asal
1357 orang telah melayarinya

Cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang mudah

Cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang ringkas

Kata Pendahuluan:
Dengan perkembangan teknologi yang berterusan, orang ramai memberi lebih perhatian kepada cuaca. Oleh itu, membangunkan laman web atau aplikasi dengan fungsi pertanyaan cuaca masa nyata telah menjadi permintaan yang sangat popular. Artikel ini menggunakan PHP sebagai bahasa pembangunan, memperkenalkan cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang mudah dan menyediakan contoh kod khusus.

1. Dapatkan data cuaca
Untuk melaksanakan fungsi pertanyaan cuaca, anda perlu mendapatkan data cuaca masa nyata terlebih dahulu. Pada masa ini terdapat banyak API cuaca di pasaran untuk digunakan oleh pembangun, seperti API Cuaca Awan Alibaba, API Cuaca Zephyr, dsb. API ini biasanya menyediakan antara muka HTTP, dan data cuaca boleh diperoleh dengan menghantar permintaan HTTP. Dalam artikel ini, kami mengambil API Cuaca Zephyr sebagai contoh.

  1. Daftar API Cuaca Zephyr
    Pertama, anda perlu mendaftar akaun di Platform Pembangun Cuaca Zephyr dan buat aplikasi. Selepas pendaftaran selesai, anda boleh mendapatkan Kunci API, yang akan digunakan dalam kod berikutnya.
  2. Panggil Zephyr Weather API
    Gunakan fungsi cURL PHP untuk menghantar permintaan HTTP dengan mudah. Berikut ialah kod sampel untuk mendapatkan data cuaca:
<?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 . '℃';
?>
Salin selepas log masuk

Dalam kod, anda perlu menggantikan your_api_key dengan Kunci API yang diperoleh pada Platform Cuaca Zefeng dan Beijing</code > dengan nama bandar yang akan ditanya. Hantar permintaan HTTP dengan memanggil fungsi <code>curl_exec Selepas mendapat respons, gunakan fungsi json_decode untuk menghuraikan data cuaca dalam format JSON, kemudian dapatkan cuaca dan suhu semasa. dan keluarkannya ke halaman. 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>
Salin selepas log masuk

在代码中,使用了一个表单,表单的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 '请输入要查询的城市名称。';
}
?>
Salin selepas log masuk

在代码中,首先检查$_POST['city']

2. Reka bentuk antara muka pertanyaan cuaca

Selepas mendapatkan data cuaca masa nyata, anda perlu mereka bentuk antara muka pengguna yang membolehkan pengguna memasukkan nama bandar dan klik butang pertanyaan untuk mendapatkan maklumat cuaca.

Berikut ialah borang HTML ringkas untuk menanyakan cuaca: 🎜rrreee🎜Dalam kod, borang digunakan dan atribut action borang menentukan URL untuk menghantar permintaan pertanyaan, tetapkannya kepada query.php. Selepas pengguna memasukkan nama bandar dalam kotak input dan mengklik butang pertanyaan, data borang akan diserahkan kepada query.php untuk diproses. 🎜🎜3. Proses permintaan pertanyaan🎜Selepas menerima permintaan pertanyaan, anda perlu menghuraikan data permintaan dan memanggil API Cuaca Zephyr untuk mendapatkan data cuaca. 🎜🎜Berikut ialah contoh kod query.php: 🎜rrreee🎜Dalam kod, semak dahulu sama ada $_POST['city'] kosong, jika tidak kosong kemudian Lakukan operasi pertanyaan cuaca, jika tidak, keluarkan maklumat segera. Logik pertanyaan cuaca adalah sama dengan kod sebelumnya untuk mendapatkan data cuaca. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang ringkas, termasuk mendapatkan data cuaca, mereka bentuk antara muka pertanyaan dan memproses permintaan pertanyaan. Melalui panggilan API, maklumat cuaca masa nyata boleh diperoleh dan dipaparkan pada antara muka pengguna. 🎜

Atas ialah kandungan terperinci Cara menggunakan PHP untuk membangunkan fungsi pertanyaan cuaca masa nyata yang mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan