Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我猜json_解码返回空值_Php_Json - Fatal编程技术网

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)启用错误报告