Я использую cURL вместо file_get_contents, который отлично работает в URL-адресе, пока я не использовал переменную запроса GET вместо города по указанному ниже URL-адресу.
Использование cURL для следующего: (Works)
$url = 'http://www.weather-forecast.com/locations/London/forecasts/latest';
Это прекрасно работает, однако, заменяя «Лондон» переменным $city
:
URL: example.com/weather.php?city=London $city = $_GET['city']; $city = ucwords($city); $city = str_replace(" ", "", $city); $url = 'http://www.weather-forecast.com/locations/".$city."/forecasts/latest';
Я получаю сообщение об ошибке: The page you are looking for doesn't exist (404)
Что я делаю неправильно в своей функции cURL? Это, похоже, отлично работает с file_get_contents
, есть ли что-то, чего я не вижу?
функция cURL
function curl_get_contents($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); return $data; } $contents = curl_get_contents($url); echo $contents;
Пожалуйста, замените двойные кавычки одиночными кавычками в url,
$url = 'http://www.weather-forecast.com/locations/'.$city.'/forecasts/latest';