php json返回布尔(false)
问题描述:
任何想法为什么以下不起作用。php json返回布尔(false)
$request_url = "someurl?myId=$id"; //returns feed like above
$json = file_get_contents($request_url, true); //getting the file content
$decode = json_decode($json, true);
var_dump($json);
当我粘贴request_url到浏览器中我找回了JSON数据,但如果我尝试在PHP中的var_dump简直布尔(假);有任何想法吗??
的更新和修复 确定球员感谢所有帮助。叶帮助我追踪这一个。原来,php.ini被配置为禁止打开网址,因此file_get_contents不起作用。我发现以下在各种网站上提到的方便功能,并将其用于排序。这是我用来帮助别人的方法。
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
答
我复制了你的问题,当ajax url错误(未找到)时,我观察到bool(false)。 确保你的“someurl”是有效的。
如果JSON无效,您的脚本仍然会正确打印它。 如果网址没有任何回报,你仍然可以观察到'string(0)“'''
问题是无效的url。
答
也许应答的$ request_url字符集不是'utf-8'或'ansi'。
不确定在读取URL时应将第二个参数设置为true,因为它们不在include_path中。 [this comment](http://php.net/manual/en/function.file-get-contents.php#95665)也可能与您的问题有关 – Einacio
1)JSON无效。 2)出于某种原因,脚本无法访问页面,例如您需要登录。3)请向我们显示实际的URL,以便我们可以解决。 – lonesomeday
除了寂寞的日子,请尝试[json_last_error()](http://php.net/manual/function.json-last-error.php) – ComFreek