Reputation: 1304
I have a PHP page containing the following code to get latitude and longitude from a user input postal code.
But when I try to run it, I get the following error:
Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/metsrobo/public_html/PHPPage2.php on line 4
Warning: file_get_contents(https://maps.googleapis.com/maps/api/geocode/json?address=750341&sensor=false&key=AIzaSyDa3Jhr3c5x_2GWrPwRoMWDXrMSYl3KvOA): failed to open stream: no suitable wrapper could be found in line 4.
<?php
function getLnt($zip){
$url = "https://maps.googleapis.com/maps/api/geocode/json?address=".urlencode($zip)."&sensor=false&key=AIzaSyDa3Jhr3c5x_2GWrPwRoMWDXrMSYl3KvOA";
$result_string = file_get_contents($url);
$result = json_decode($result_string, true);
return $result['results'][0]['geometry']['location'];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<?php
$val = getLnt('750341');
echo "Latitude: ".$val['lat']."<br>";
echo "Longitude: ".$val['lng']."<br>";
?>
</body>
</html>
Upvotes: 1
Views: 728
Reputation: 300
Don't use api key with url, remove api key then it will work, because to get latitude and longitude you don't need api key. Change url like below
https://maps.googleapis.com/maps/api/geocode/json?address=750341&sensor=false
Upvotes: 2
Reputation: 1613
To make file_get_contents()
function to work, firstly you need to enable the allow_url_fopen
and set its value to On.
Regarding the same, you can try two things.
Create an .htaccess
file and keep it in root folder ( sometimes it may need to place it one step back folder of the root) and paste this code there.
php_value allow_url_fopen On
Create a php.ini
file (for update server php5.ini
) and keep it in root folder (sometimes it may need to place it one step back folder of the root) and paste the following code there:
allow_url_fopen = On;
Hope it helps you.
Upvotes: 0