2011-03-14 161 views
1
$vars='https://www.googleapis.com/latitude/v1/currentLocation?key=AIzaSyB2hw658V7RSzEYgwSHwYkaLm_505gqLhs'; 
$content = file_get_contents($vars); 

我正在使用此功能从URL中检索文件,但file_get_contents()不起作用。请给我一个相同工作的功能。从网址获取文件

回答

2

file_get_contents仅在您的php.ini中将allow_url_fopen设置为“on”时有效。

如果不是,你可以通过curl来获取url的内容。

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; 
} 
0

你应该知道为什么file_get_contents不工作。如果您使用的是早于4.3的PHP版本,它不存在,并且可以使用其他更低级别的函数来实现。

如果allow_url_fopen(使用phpinfo()测试)有限制,请尝试ChrisR的答案,因为curl将绕过此限制。您也可以使用套接字函数。

如果有阻止传出连接的防火墙,那么您运气不好。您需要致电您的托管支持并询问有关情况。

最后,您的服务器可能会被禁止拨打Google API。