qiayue
2018-12-21 00:04:17 +08:00
你知道上面四行代码的作用吗?
其实第二行在你这里没起到作用
第一行:把客户端的 ip 地址传给 ipinfo,得到返回的 json 后解析,得到一个对象
第二行:把对象里的 ip 赋值给 $ip 变量
第三行:把对象里的国家代码赋值给 $country_code 变量
第四行:拼接一个 geognos 的网址,得到一个图片地址,把当前请求 302 跳转到这个图片地址
你的 html 代码中,img 的 src 标签虽然写的地址是 php 的地址,但最终请求的其实是跳转后的图片,所以能够显示图片出来。
但是,你想用什么标签来显示国家名称呢?
有两种办法:
第一种是用 php 获取到图片后,用 gd 重新生成一张图片,并且往图片里边写入国家名称,这样只需要修改 php 代码,html 代码不动;
第二种是,php 只需要一行代码
<?php echo file_get_contents('https://ipinfo .io/'.$_SERVER['REMOTE_ADDR']);?>注意此处我给 .io 之前加了空格,不然无法回帖
然后 html 中用 ajax 从 php 中获取到 json 数据后,用国家代码拼接图片网址显示图片,js 去显示图片和国家名称