Php 文件\u get\u contents()无法获取数据?

Php 文件\u get\u contents()无法获取数据?,php,json,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_co

我搜索了几个类似的帖子,但没有找到答案。我可能错过了一些小东西

我正在尝试从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'];
$uri=”http://worldweatheronline.com/feed/weather.ashx?q=schruns,奥地利&format=json&num_of_days=5&key=8f2d1ea151085304102710“;
echo“URI:[$URI]
”; $file=文件获取内容($uri); $error=error_get_last(); echo$error['message'];
如果我在浏览器中打开URL,我可以看到它的JSON内容。但是上面提到的代码不起作用
$file
的值为
false
。错误消息是: <代码>文件\u获取内容(http://worldweatheronline.com/feed/weather.ashx?q=schruns,austria&format=json&num_of_days=5&key=8f2d1ea151085304102710)[function.file get contents]:无法打开流:没有这样的文件或目录。

有什么建议吗?注意:我的
allow\u url\u fopen
设置为
1
(如果有必要)

编辑: 这是整个PHP文件。


另外,代码中有一个fopen(),它可以很好地打开http文件。

检查此代码,我认为您现在可以进一步执行此操作--


@ascii石灰

它代表@ascii石灰--

选中此项(编辑#2)

试试这个:


我看不出代码有任何问题,伙计-它在我的设置中本地运行良好,我可以获取文件,并且可以用它做任何我喜欢的事情

尝试在不同的主机上运行它-可能是您的php.ini被弄乱了,脚本也被弄乱了。。或者你可能对其他来源有问题。。可能是因为您共享了整个文件源,或者至少共享了更大的文件源


干杯

如果
file\u get\u contents
一开始就在读取文件,那就行不通了。@ascii lime我至少在结束时测试了这段代码及其工作检查屏幕快照是的,它对你有用,因为
file\u get\u contents
对你有用。OP的原始代码也应该适用于您。@ascii lime是的,非常正确。.这是我的想法,但我在wont中运行结束时我会这样做。.所以我只是放了那个东西,它会点击。.fst解决方案至少对我来说。.但现在让我检查断点:)@ascii lime我刚刚发布了来自Akash代码的o/p。.带有错误报告(E_ALL);但是它对我不起作用。你确定
allow\u url\u fopen
设置为
1
?如果您自己将其设置为该值,则可能需要重新启动您的Web服务器(假设PHP正在某台服务器上运行)。@ascii:是的,我确定。我通过ini_get()检查过了Hi Nirav,不,它对我不起作用。没有header()行对你有用吗?我认为你的网站有一些错误。这对我很有用。我使用alsoNirav,我已经添加了整个PHP文件,你能看一下吗?我已经添加了整个PHP文件。请注意,代码开头调用了一个fopen(),效果很好。我尝试在其他主机上运行它。成功了。也许,正如你所说,我的php.ini是一团糟。
<?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>";
?>
   <?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;
    ?>