我搜索了几个类似的帖子但找不到答案。我可能错过了一些小事。
我正在尝试从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文件。
答案 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
用于@ ascii-lime -
选中此项(编辑#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;
?>