带有http的file_get_contents - 无法打开流

时间:2015-10-18 14:43:04

标签: php http web fopen

我尝试从PHP中使用file_get_contents() - 函数的网站获取文本。

        $myVariable = file_get_contents('myUrl/json/file.json?jsonp=loadSomething);

不幸的是我一直收到消息

"Warning:
file_get_contents(myUrl/json/file.json?jsonp=loadSomething): 
failed to open stream: HTTP request failed! 
HTTP/1.1 404 Not Found in *path of my .php- file* on line 10"

在php.ini中,allow_url_fopen设置为" On"。我也尝试了urlencode()。 我该怎么做才能使我的代码正常工作?

1 个答案:

答案 0 :(得分:2)

好的,远程文件 可访问。 file_get_contents失败时,cURL是您的朋友:

function file_get_contents_curl($url) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
    $data = curl_exec($curl);
    curl_close($curl);
    return $data;
}

现在尝试

$myVariable = file_get_contents_curl('myUrl/json/file.json?jsonp=loadSomething');