1

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

我正在尝试从 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 文件。

4

3 回答 3

2

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

尝试在不同的主机上运行它 - 可能是你的 php.ini 搞砸了,脚本也搞砸了。或者你可能对源的其他地方有问题。可能是如果你共享了整个文件源,或者至少是更大的一部分..

干杯!

于 2012-11-26T05:29:33.177 回答
-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-石灰

在此处输入图像描述

它为@ascii-lime--

检查这个(编辑#2)

编辑 2

于 2012-11-26T05:26:00.303 回答
-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;
    ?>
于 2012-11-26T05:28:42.023 回答