一尘不染

php json返回布尔值(false)

json

关于以下原因为何的任何想法。

$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就是bool(false);
有任何想法吗??

更新并修复
OK伙计们,感谢您的所有帮助。是的,我帮助我追踪了这一情况。事实证明,php.ini配置为禁止打开url,因此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;
}

阅读 475

收藏
2020-07-27

共1个答案

一尘不染

我复制了您的问题,当ajax网址错误(未找到)时,我观察到bool(false)。确保您的“ someurl”有效。

如果JSON无效,您的脚本仍会正确打印。如果网址未返回任何内容,您仍然会看到’string(0)“”’

问题是网址无效。

2020-07-27