Php 我猜json_解码返回空值
我尝试在我的服务器上运行此操作:Php 我猜json_解码返回空值,php,json,Php,Json,我尝试在我的服务器上运行此操作: <?php $ip = $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); echo $ip; $city = $details -> city; echo $city; ?> 但是,这只是一个打印ip。 可能是服务器问题或配置问题?您需要更加防御性地编写代码,如果该站点没有您提供给它的ip地址
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
echo $ip;
$city = $details -> city;
echo $city;
?>
但是,这只是一个打印ip。
可能是服务器问题或配置问题?您需要更加防御性地编写代码,如果该站点没有您提供给它的ip地址的数据,那么它将不会返回任何
city
属性
这样安全一点
$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
echo $ip . ' ';
if (isset($details->city)){
echo $details->city;
} else {
echo 'data not available';
}
从它为我的IP地址返回的内容来看,它提供的详细信息无论如何都不是很准确文件内容是什么?“{$IP}/json”)?什么是
var\u dump($details)代码>显示?你的代码对我来说很好。也许您的服务器上没有启用url\u fopen
?使用错误报告(E_ALL)启用错误报告代码>。