/* - Get Weather for location (openweathermap) - Gets the weather, temperature, pressure, humidity etc for the specified location $location - The location to get the weather of ie. "New York City,NY" $format - What to return => 0 - Cloudiness => 1 - Temperature (fahrenheit) => 2 - Air Pressure => 3 - Humidity => 4 - Min Temperature (fahrenheit) => 5 - Max Temperature (fahrenheit) => 6 - Visibility => 7 - Wind Speed => 8 - Wind Direction (degrees) => 9 - Sunrise (unix time) => 10 - Sunset (unix time) $timeout - How many seconds to wait for a response before giving up */ public function getWeather($location, $format = 0, $timeout = 5) { $ch = curl_init(); $location = str_replace(" ", "%20", $location); curl_setopt($ch, CURLOPT_URL, "http://api.openweathermap.org/data/2.5/weather?q=" . $location); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); $arr = json_decode($data, true); if (!isset($arr["message"])) { $r_weather = $arr["weather"][0]["description"]; $r_temp = $arr["main"]["temp"]; $r_pressure = $arr["main"]["pressure"]; $r_humidity = $arr["main"]["humidity"]; $r_temp_min = $arr["main"]["temp_min"]; $r_temp_max = $arr["main"]["temp_max"]; $r_visibility = 10000; $r_wind_speed = $arr["wind"]["speed"]; $r_wind_dir = $arr["wind"]["deg"]; $r_sunrise = $arr["sys"]["sunrise"]; $r_sunset = $arr["sys"]["sunset"]; $r_temp = $this->convertTemperature("k", "f", $r_temp); $r_temp_min = $this->convertTemperature("k", "f", $r_temp_min); $r_temp_max = $this->convertTemperature("k", "f", $r_temp_max); switch ($format) { case 0: return $r_weather; break; case 1: return $r_temp; break; case 2: return $r_pressure; break; case 3: return $r_humidity; break; case 4: return $r_temp_min; break; case 5: return $r_temp_max; break; case 6: return $r_visibility; break; case 7: return $r_wind_speed; break; case 8: return $r_wind_dir; break; case 9: return $r_sunrise; break; case 10: return $r_sunset; break; } // default return $arr; } return false; }