很多站长朋友们都不太清楚php获得外网ip,今天小编就来给大家整理php获得外网ip,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php如何获取服务器外网的ip 2、 PHP如何获取服务器外网IP 3、 在项目中获取外网IP以及IP所在地等信息 4、 PHP获取客户端外网ip代码? 5、 PHP如何获取外网IP地址,类似于百度查询到的IP,网上的方法,查询到的都是局域网(内网)的IP, 6、 PHP如何获取客户端IP php如何获取服务器外网的ipfunction real_server_ip(){
static $serverip = NULL;
if ($serverip !== NULL){
return $serverip;
}
if (isset($_SERVER)){
if (isset($_SERVER['SERVER_ADDR'])){
$serverip = $_SERVER['SERVER_ADDR'];
}
else{
$serverip = '0.0.0.0';
}
}
else{
$serverip = getenv('SERVER_ADDR');
}
return $serverip;
}
PHP如何获取服务器外网IPfunction real_server_ip(){
static $serverip = NULL;
if ($serverip !== NULL){
return $serverip;
}
if (isset($_SERVER)){
if (isset($_SERVER['SERVER_ADDR'])){
$serverip = $_SERVER['SERVER_ADDR'];
}
else{
$serverip = '0.0.0.0';
}
}
else{
$serverip = getenv('SERVER_ADDR');
}
return $serverip;
}
在项目中获取外网IP以及IP所在地等信息接口地址:
传递参数: ip:要查询的IP地址
参数传递方式: GET/POST
返回类型: json
返回值:
备注:本接口来自 淘宝IP地址库
这个玩法很多,官网介绍也很详细☞ 传送门
接口地址:
传递参数: ie:编码(默认为GBK)
参数传递方式: GET
返回类型:js
返回值:
cip:本机IP地址
cid:城市编号
cname:城市名称
请求示例: Request URL:
返回示例: { "cip": "115.159.152.220", "cid": "410100", "cname": "广州市"}
接口地址:
传递参数:
format:数据返回格式
ip:欲查询的IP(空则查询本机)
参数传递方式: GET
返回类型: js/json
返回值:
country:国名
province:省份
city:城市名
PHP获取客户端外网ip代码?function get_real_ip()
{
$ip=FALSE;
//客户端IP 或 NONE
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
//多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
//客户端IP 或 (最后一个)代理服务器 IP
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
PHP如何获取外网IP地址,类似于百度查询到的IP,网上的方法,查询到的都是局域网(内网)的IP,发一个函数给你.
/**
* 获取客户端IP地址
* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
* @param boolean $adv 是否进行高级模式获取(有可能被伪装)
* @return mixed
*/
function get_client_ip($type = 0,$adv=false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($adv){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$long = sprintf("%u",ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
return $ip[$type];
}
如果是本地测试的话,获取到的是127.0.0.1
PHP如何获取客户端IP方法:
1、进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择需要的模块,比如curl模块执行phpize生成编译文件,phpize在PHP安装目录的bin目录下。
2、phpize 运行时,可能会报错Cannot find autoconf。
3、需要安装autocon执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查。
关于php获得外网ip的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php获得外网ip php获取用户ip端口的详细内容...