<?php
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
$jsonData = json_decode(file_get_contents(urlencode('https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json')));
echo $jsonData;
?>
错误:failed to open stream: No such file or directory in <b>C:\wamp\www\file.php
我想将结果打印为json字符串,以便我可以使用jquery ajax处理它。我错过了什么?感谢
答案 0 :(得分:2)
从代码中删除urlencode
函数。这会将整个URL格式化为字符串,以作为请求中的参数发送。
您只想将网址传递给file_get_contents
。
答案 1 :(得分:2)
您发现自己的网址中有空格(来自Google的结果为400)。此外,您不想在此处使用urlencode()
。
我还猜测你不想使用json_decode()
,因为这会返回一个对象或数组。
所以,试试这个
readfile('https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json');
exit;
要执行您尝试的操作,请注意manual
中的此注释如果已启用fopen包装,则可以使用此函数将URL用作文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。有关各种包装器具有哪些功能的信息,使用说明以及它们可能提供的任何预定义变量的信息,请参阅支持的协议和包装器。
答案 2 :(得分:0)
<?php
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
$jsonData = json_decode(file_get_contents('https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World&chof=json'));
echo $jsonData;
?>
这应该有用。