1
xzc0001 2018-12-20 21:09:10 +08:00
參考驗證碼?我記著以前 discuz 什麽的就是 php 的,然後直接 img 標簽就行吧
|
2
moonshow OP <img src="这里怎么填写?", alt="", width="18", height="12">
src=地址怎么填写呢? |
3
xfspace 2018-12-20 21:39:15 +08:00 via Android
填 PHP 文件的 URL
或做个 rewrite |
4
qiayue 2018-12-20 22:29:07 +08:00 via Android
<?php
$ip_from_here = json_decode(file_get_contents('https://ipinfo.io')); $ip = $ip_from_here->ip; $country_code = $ip_from_here->country; header("Location:http://www.geognos.com/api/en/countries/flag/$country_code.png"); ?> 存成一个 php 文件,然后 html 的 img 标签 src 写 php 地址 |
5
akira 2018-12-20 22:40:15 +08:00
|
8
moonshow OP @akira 我是在油管上看到一个视频搬来的 &t=136s 其实我自己只会一点点 html 而已
通过 iframe 可以显示出来,貌似一直是固定图标不能根据国家 ip 地址更换 这个问题有办法解决吗? |
14
Fooleap 2018-12-20 23:28:41 +08:00 2
@moonshow #13
ipinfo.io 默认是根据服务器 IP 地址,需要传一下客户端的 IP。例如: $ip_from_here = json_decode(file_get_contents('https://ipinfo.io/'.$_SERVER['REMOTE_ADDR'])); 参考: https://ipinfo.io/developers |
15
qiayue 2018-12-20 23:35:47 +08:00
<?php
$ip_from_here = json_decode(file_get_contents('https:// ipinfo.io')); $ip = $ip_from_here->ip; echo $ip; ?> 你看看输出到的 IP 地址是谁的就知道怎么回事的 如果你的代码是放在了服务器运行,那么实际上是服务器向 ipinfo 发起请求,所以获取的是服务器的 IP 地址,当然最终显示的国家就是服务器所在国家了。 |
20
moonshow OP @qiayue 显示在国 qi 前面 现在已经能根据 ip 地址显示 guo 奇 这是完整代码
<?php $ip_from_here = json_decode(file_get_contents('https://ipinfo.io/'.$_SERVER['REMOTE_ADDR'])); $ip = $ip_from_here->ip; $country_code = $ip_from_here->country; header("Location:http://www.geognos.com/api/en/countries/flag/$country_code.png"); ?> |
21
qiayue 2018-12-21 00:04:17 +08:00 1
你知道上面四行代码的作用吗?
其实第二行在你这里没起到作用 第一行:把客户端的 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 去显示图片和国家名称 |