关于以下原因为何的任何想法。
$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; }
我复制了您的问题,当ajax网址错误(未找到)时,我观察到bool(false)。确保您的“ someurl”有效。
如果JSON无效,您的脚本仍会正确打印。如果网址未返回任何内容,您仍然会看到’string(0)“”’
问题是网址无效。