file_get_contents()无法获取数据?

时间:2012-11-26 05:21:51

标签: php json

我搜索了几个类似的帖子但找不到答案。我可能错过了一些小事。

我正在尝试从URL中读取JSON内容,如我的代码所示:

$uri = "http://worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710";
echo "URI: [$uri] <br/>";

$file = file_get_contents($uri);
$error = error_get_last();
echo $error['message'];

如果我在浏览器中打开URL,我可以看到它的JSON内容。但上面提到的代码不起作用。 $file的值为false。错误消息是: file_get_contents(http://worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710) [function.file-get-contents]: failed to open stream: No such file or directory.

有什么建议吗?注意:如果重要,我的allow_url_fopen设置为1

编辑: 这是整个PHP文件。 http://pastebin.com/zCKEP9kG

此外,代码中有一个fopen()可以打开一个http文件。

3 个答案:

答案 0 :(得分:2)

我没有看到代码有任何问题,配对 - 它在我的设置上本地运行正常,我可以获取文件,并可以做任何我喜欢的事情。

尝试在不同的主机上运行 - 可能是你的php.ini搞砸了并且还搞乱了脚本..或者你可能遇到了其他一些来源的问题..可能是你共享了整个文件源,或者至少是它的一大块......

干杯!

答案 1 :(得分:-1)

检查此代码,我认为您现在可以继续进行此操作 -

<?php 
$json_url = "http://worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710";
$json = file_get_contents($json_url);
$data = json_decode($json, TRUE);
echo "<pre>";
print_r($data);
echo "</pre>";
?>

@ ascii-lime

enter image description here

用于@ ascii-lime -

选中此项(编辑#2)

Edit 2

答案 2 :(得分:-2)

试试这个:

   <?php
        header('Content-Type: application/json');
        $json = file_get_contents('http://worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710');
        echo $json;
    ?>