从webserver访问URL而不更改php.ini

时间:2011-08-06 06:03:25

标签: php google-maps xml-rpc reverse-geocoding php-5.2

我想访问google map api进行反向地理编码。我使用file_get_contents方法访问url。
$ url =“http://maps.google.com/maps/geo?json&ll&ll=".$lat.",".$long;
$ data = file_get_contents($ url);

我得到$ data的值为FALSE,从堆栈溢出我得到的信息是由于php.ini文件的配置(在我们的web服务器中allow_url_fopen为false)

 我联系了Web服务器的人,但由于安全问题,他们没有准备好更改服务器配置。
是否有任何替代方法来访问URL而不更改服务器配置? 分享您的经验,知识,谢谢

2 个答案:

答案 0 :(得分:2)

您的服务器是否安装了curl库?你可以试试。

例如,您可以尝试以下方法:

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/2.0 (compatible; MSIE 3.02; Update a; AK; Windows 95)");
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_URL, 'http://maps.google.com/maps/geo?json&ll&ll='.$lat.','.$long  );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
$ret_val = curl_exec($ch);

echo $ret_val;

答案 1 :(得分:1)

您可以检查服务器是否安装了curl库...

http://www.php.net/manual/en/book.curl.php

您可以在cURL support enabled

的输出中查找phpinfo();之类的内容