要在PHP中获取天气预报,你可以使用外部API服务。一个流行的服务是OpenWeatherMap,它提供了一个免费的API来获取天气信息。以下是一个简单的例子,展示了如何使用cURL从OpenWeatherMap获取天气数据。
首先,你需要注册OpenWeatherMap以获取一个API密钥。
使用你的API密钥和位置的经纬度,调用API。
// 替换YOUR_API_KEY为你的OpenWeatherMap API密钥
¥apiKey = 'YOUR_API_KEY';
// 经度和纬度,例如:47.397,8.544
¥coordinates = '47.397,8.544';
// 单位:标准、英制或者 metrological
¥units = 'metric';
// 语言:仅限于API支持的语言
¥lang = 'en';
// 构建请求URL
¥url = "http://api.openweathermap.org/data/2.5/weather?lat={¥coordinates}&appid={¥apiKey}&units={¥units}&lang={¥lang}";
// 初始化cURL会话
¥ch = curl_init(¥url);
// 设置cURL选项
curl_setopt(¥ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt(¥ch, CURLOPT_HEADER, false);
// 执行cURL会话
¥response = curl_exec(¥ch);
// 关闭cURL资源,并释放系统资源
curl_close(¥ch);
// 解码JSON响应
¥result = json_decode(¥response);
// 检查结果是否成功返回
if (¥result && ¥result->cod == 200) {
// 打印天气信息
echo "Temperature: " . ¥result->main->temp . "°C\n";
echo "Description: " . ¥result->weather[0]->description . "\n";
echo "Humidity: " . ¥result->main->humidity . "%\n";
echo "Wind Speed: " . ¥result->wind->speed . "m/s\n";
} else {
echo "Error: " . ¥result->message;
}
?>
请确保你的API密钥是有效的,并且你已经按照OpenWeatherMap的使用条款合法使用它们的服务。这个脚本会输出当前位置的温度、天气描述、湿度和风速。你可以根据需要调整这个脚本,比如更换单位或者语言。