$vars='https://www.googleapis.com/latitude/v1/currentLocation?key=AIzaSyB2hw658V7RSzEYgwSHwYkaLm_505gqLhs';
$content = file_get_contents( $vars );
我正在使用此功能从网址中检索文件,但file_get_contents()
无效。请建议我同样的工作功能。
答案 0 :(得分:2)
file_get_contents仅在php.ini中将allow_url_fopen
设置为“on”时才有效。
如果不是,你可以使用curl来获取网址的内容。
function getPage ($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$tmp = curl_exec ($ch);
curl_close ($ch);
return $tmp;
}
答案 1 :(得分:0)
你应该尝试curl或fsockopen。
正如PHP文档所述,只有启用了fopen包装器时,URL才能用作file_get_contents()的文件名。
答案 2 :(得分:0)
您应该找出file_get_contents无法正常工作的原因。如果您使用的是早于4.3的PHP版本,则它不存在,并且可以使用其他更低级别的函数来实现。
如果对allow_url_fopen有限制(使用phpinfo()测试),请尝试ChrisR的答案,因为curl将绕过此限制。您也可以使用套接字函数。
如果有防火墙阻止传出连接,那你就不走运了。您需要致电您的托管服务并询问此事。
最后,您的服务器可能无法调用Google API。