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

在php中获取IP地址的方法有很多种,下面我介绍利用linux命令获取IP地址然后转换成数组输出,下面也介绍了一些常用关于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 (!emptyempty($_SERVER["HTTP_CLIENT_IP"])) {

$cip = $_SERVER["HTTP_CLIENT_IP"];

} elseif (!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"])) {

$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];

} elseif (!emptyempty($_SERVER["REMOTE_ADDR"])) {

$cip = $_SERVER["REMOTE_ADDR"];

} else {

$cip = "无法获取!";

}

return $cip;

}

echo GetIP();

?>

我这里有一个比较公用的方法来获取用户ip地址,代码如下:<?php

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所在地),代码如下:<?php

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 emptyempty($location->desc) ? $location->province . $location->city . $location->district . $location->isp : $location->desc;

}

?>

转载随意!带上文章地址吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值