현재 위치: > 최신 기사 목록> 날씨 API와 결합하여 하루의 일몰을 표시 + 날씨 정보

날씨 API와 결합하여 하루의 일몰을 표시 + 날씨 정보

M66 2025-05-31

최신 웹 사이트 또는 응용 프로그램에서 실시간 날씨 정보를 결합하면 사용자 경험이 향상 될 수 있습니다. 예를 들어, 여행 웹 사이트 또는 야외 활동 플랫폼을 개발하는 경우 실시간 날씨 및 일몰 시간에 대한 정보는 매우 가치가 있습니다. 이 기사는 PHP를 사용하여 날씨 API를 결합하여 특정 장소에서 실시간 날씨와 일몰 시간을 얻는 방법을 설명합니다.

1. 날씨 API 서비스를 선택하십시오

날씨 정보를 얻으려면 안정적이고 신뢰할 수있는 날씨 API가 필요합니다. 이 예제는 OpenWeather 가 제공하는 무료 API를 사용합니다 (참고 : 먼저 공식 웹 사이트에 등록하고 API 키를 얻어야합니다).

2. API 요청을 준비하십시오

OpenWeather의 API는 기상 조건 및 일몰 시간을 포함하는 데이터를 제공합니다. 기본 PHP 요청 예는 다음과 같습니다.

 <?php
$apiKey = 'YOUR_API_KEY'; // 자신의 것으로 교체하십시오 API 열쇠
$city = 'Beijing'; // 지원되는 도시로 변경할 수 있습니다
$apiUrl = "https://api.openweathermap.org/data/2.5/weather?q={$city}&appid={$apiKey}&units=metric";

// 초기화 cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

// 디코딩 JSON
$data = json_decode($response, true);

// 데이터가 성공적으로 얻어 있는지 확인하십시오
if (isset($data['main'])) {
    $temperature = $data['main']['temp'];
    $weather = $data['weather'][0]['description'];
    $sunsetUnix = $data['sys']['sunset'];
    $sunsetTime = date("H:i:s", $sunsetUnix); // 현지 시간으로 전환하십시오(UTC 시간대 조정이 필요할 수 있습니다)

    echo "현재 도시:{$city}<br>";
    echo "실시간 온도:{$temperature}°C<br>";
    echo "기상 조건:{$weather}<br>";
    echo "오늘의 일몰 시간:{$sunsetTime}<br>";
} else {
    echo "날씨 정보를 얻을 수 없습니다,도시 이름을 확인하십시오 API 열쇠是否正确。";
}
?>

3. 주목할만한 것들

  1. 시간대 문제 : API는 UTC 시간을 반환하며 서버 또는 사용자가 위치한 시간대에 따라 변환해야 할 수도 있습니다. PHP의 DateTimezone 클래스를 사용하여 처리 할 수 ​​있습니다.

  2. 캐싱 전략 : 날씨 데이터는 매 초마다 새로 고침 될 필요가 없으며 API 요청 압력을 완화하기 위해 10 분마다 업데이트와 같은 캐시를 설정할 수 있습니다.

  3. 오류 처리 : 네트워크 문제 또는 API 할당량으로 인한 페이지 충돌을 피하기위한 API 요청의 실패를 처리하십시오.

  4. 인터페이스 보안 : API 키를 프론트 엔드 코드에 노출시키지 말고 백엔드를 통해이를 프록시하는 것이 가장 좋습니다.

IV. 실제 배포 예

위의 PHP 스크립트를 Weather.php 로 저장하고 예를 들어 서버에 배포하십시오.

 https://www.m66.net/weather.php

날씨와 일몰 시간 정보를 보려면이 주소를 방문하십시오.

결론

날씨 API와 함께 실시간 정보를 표시하면 웹 사이트를보다 대화식으로 만들 수있을뿐만 아니라 실질적인 도움을 제공 할 수 있습니다. 이 기사가 당신에게 영감을 주길 바랍니다! 좌표로 날씨 쿼리, 앞으로 며칠 동안 예측 표시 등과 같은 복잡한 요구가있는 경우 OpenWeather가 제공하는 다른 API 인터페이스를 계속 탐색 할 수도 있습니다.

기존 웹 사이트에 추가하거나 모듈을 독립적으로 만들고 싶습니까?