Php 文件\u get\u contents()无法获取数据?
我搜索了几个类似的帖子,但没有找到答案。我可能错过了一些小东西 我正在尝试从URL读取JSON内容,如代码所示: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
$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;
?>