Вот когда пытаюсь вот так вот получить json выдает ошибку Warning: file_get_contents(http://maps.googleapis.com/maps/api/geocode/json??key=***&address=запорожье украина &sensor=false&language=ru): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in /home/cpinua/shinomontaj/wp-content/themes/tech-literacy/front-page.php on line 107 PHP: echo file_get_contents('http://maps.googleapis.com/maps/api/geocode/json??key=***&address=запорожье украина &sensor=false&language=ru');
говорит, что ошибка в запросе. Ссылку вставь в адресную строку браузера и посмотри что будет. cURL лучше для таких целей юзать.
наверное пробелы в ссылке мешают. Браузер их кодирует автоматом. замени пробелы на %20. Если не поможет, то пиши.
Вот правильный инструмент. PHP: $curl = curl_init('http://maps.googleapis.com/maps/api/geocode/json??key=***&address=запорожье%20украина%20&sensor=false&language=ru'); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json')); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $json = curl_exec($curl); // сохранен json curl_close($curl); Засунь в функцию и положи себе куда нить.
не просто замени, а кодируй строку перед отправкой. PHP: $add='запорожье украина'; $url="http://maps.googleapis.com/maps/api/geocode/json?address=".urlencode($add); $json = file_get_contents($url);