PHP获取IP地址输出为数组程序代码

PHP获取服务器IP地址

用PHP执行ifconfig获得Linux服务器IP并输出为数组,下面是代码:

 代码如下 复制代码

<?php
function getServerIp(){ //用ifconfig读取服务器IP并输出为数组
  $ss = exec('/sbin/ifconfig | sed -n 's/^ *.*addr:\([0-9.]\{7,\}\) .*$/\1/p'',$arr);
  return $arr;
  }
$ips=getServerIp();
 
foreach($ips as $k=>$v){//过滤IP
 if(substr($v,0,3)=='127' || substr($v,0,3)=='10.' || substr($v,0,7)=='192.168' || substr($v,0,6)=='172.16'){
  unset($ips[$k]);
 }
}
shuffle($ips);//重新排序
print_r($ips);
?>

一些php获取ip地址例

 代码如下 复制代码

<?php
function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  $cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
  $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
  $cip = $_SERVER["REMOTE_ADDR"];
}
else{
  $cip = "无法获取!";
}
return $cip;
}
echo GetIP();
?>

我这里有一个比较公用的方法来获取用户ip地址:

 

 代码如下 复制代码
function get_user_ip() {
        if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP']!='unknown') {
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') {
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        } else {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }

PHP获取IP所在地区(调用新浪API获取IP所在地)

 

 代码如下 复制代码
function get_location($ip){
 $curl = curl_init();
        curl_setopt($curl,CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip);
 $location = curl_exec($curl);
        $location = json_decode($location);
        if($location===FALSE) return "";
        return empty($location->desc) ? $location->province.$location->city.$location->district.$location->isp : $location->desc;
}
时间: 2024-07-29 23:59:19

PHP获取IP地址输出为数组程序代码的相关文章

电脑无法自动获取IP地址怎么办?

故障排查: 由于笔者公司的客户机是通过DHCP服务器自动获取IP地址的,所以出现这种提示信息应该是客户机没有分配到IP地址所致.在"运行"中键入 "cmd",进入"命令窗口",输入"ipconfig"回车,发现此台电脑目前所使用的IP地址是"169.254.0.6",这个结果证实了笔者先前 的判断,因为客户机如果四次向DHCP服务器发出请求,而未得到响应,那么系统会自动分配一个范围在169.254.0.1到

ip地址-如何在QQ2015中获取IP地址 2014也行

问题描述 如何在QQ2015中获取IP地址 2014也行 小弟十分想知道如何在当前版本中获取qq所在地的IP地址.听说网上有能根据qq查实际姓名等信息的原理是什么 解决方案 首先要和对方不断的聊天,然后打开命令提示符(开始,运行,输入cmd.或在开始菜单==>所有程序==>附件=>命令提示符)...然后输入一下命令 netstat -n 此时我们可以看到一栏IP地址: Active Connections Proto Local Address Foreign Address State

PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)_php实例

如下所示: <?php $data = '254.254.254.254'; echo ip2long($data); function getIP() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); elseif(getenv

centos上通过dns方式调用gethostbyname函数获取IP地址,还需要哪些设置吗?

问题描述 centos上通过dns方式调用gethostbyname函数获取IP地址,还需要哪些设置吗? 对端IP地址可能会改变,想通过dns方式来获取对端IP地址.即在本地文件中配置对端网址,通过该网址获取到IP.我写了如下代码,ping www.baidu.com有回复报文,但是程序却得到IP地址,还需要什么配置吗?请高手指导下,谢谢! int main(int argc, char **argv) { char **pptr = NULL; struct hostent *hptr = N

PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)

如下所示: <?php $data = '254.254.254.254'; echo ip2long($data); function getIP() { if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); elseif(getenv

VTP同步捆绑并且负载均衡在DHCP地址池获取ip地址

VTP 同步  捆绑  并且负载均衡 在DHCP地址池获取ip地址 在R1上配置 R1>en R1#conf t R1(config)#vlan 10   添加vlan R1(config-vlan)#vlan 20 R1(config)#interface range f1/0 -1   把2个端口做成中继 R1(config-if-range)#switchport mode trunk R1(config-if-range)#switchport trunk encapsulation d

网卡无法获取IP地址自己给他找个

电脑出现网卡无法获取IP地址出现这类问题,可以尝试更改网卡工作模式来解决.展开"设备管理器"中的"网络适配器",然后双击网卡驱动标志,然后切换到 "高级"选项,在属性中将网卡工作速率模式由自动模式改为10Mbps全双工模式.如果还是不能解决问题,很有可能是主板与网卡不兼容,你可以尝试通过升级最新版的主板BIOS试试,实在不行只有更换网卡.

php通过Chianz.com获取IP地址与地区的方法

 这篇文章主要介绍了php通过Chianz.com获取IP地址与地区的方法,是解析IP地址与地区非常实用的技巧,需要的朋友可以参考下     本文实例讲述了php通过Chianz.com获取IP地址与地区的方法.分享给大家供大家参考.具体分析如下: 一个IP获取的结果不是很完善,究其原因是因为ip138的IP解析应对国外的地址时不是很详细,所以又重新写了个用Chianz.com的代码,实例代码如下: 代码如下: <!DOCTYPE html> <html lang="en&qu

Python获取IP地址的三种方法

  在python中获取IP地址的方法很简单,我们只和gethostbyname和gethostbyname_ex两个函数可以实现了,当然也可以利用公网api来实现. 使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip 使用gethostbyname和gethostbyname_ex两个函数可以实现  代码如下   import socket localIP = socket.gethostbyname(socket.gethostname())#这