php 获取 ip地址_PHP 获取ip地址的六种方法
本篇文章主要介绍PHP 获取ip地址的六种方法,感兴趣的朋友参考下,希望对大家有所帮助。
代码一:function getip() {
static $ip = '';
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_CDN_SRC_IP'])) {
$ip = $_SERVER['HTTP_CDN_SRC_IP'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
foreach ($matches[0] AS $xip) {
if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
$ip = $xip;
break;
}
}
}
return $ip;
}
代码二:<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP")){
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR")){
$ip = getenv("REMOTE_ADDR");
}
else{
$ip = "Unknown";
}
echo $ip;
?>
方法三:<?php
$iipp = $_SERVER["REMOTE_ADDR"];
echo $iipp ;
?>
方法四:<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP
?>
方法五:<?php
function get_real_ip()
{
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_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;
}
}
}
return($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo get_real_ip();
?>
方法六:<?php
if(getenv('HTTP_CLIENT_IP')){
$onlineip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR')){
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR')){
$onlineip = getenv('REMOTE_ADDR');
}
else{
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
?>
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
php 获取 ip地址_PHP 获取ip地址的六种方法相关推荐
- “超全” Python获取某一日期是“星期几”的六种方法
在Python进行数据分析时,按照日期进行分组汇总也是被需要的,比如会找到销量的周期性规律. 那么在用Python进行数据统计之前,就需要额外增加一步:从指定的日期当中获取星期几.比如2022年2月2 ...
- php获取所有url地址_php 获取完整url地址
php 获取完整url地址 主要是获取到地址栏的一些信息,域名,端口参数等 复制代码 代码如下: //获取域名或主机地址 echo $_SERVER['HTTP_HOST']." " ...
- php获取所有url地址_php 获取完整url地址实例详解
例1,获取到地址栏的一些信息,域名,端口参数等. 复制代码 代码示例: //获取域名或主机地址 echo $_SERVER['HTTP_HOST']." "; //获取网页地址 e ...
- vb.net 判断是否为ip 正则_PHP实现IP白名单
有些项目可能会用到一个IP地址的白名单黑名单之类的验证. 比如,只有IP地址在白名单中,才可以访问该系统. 那么此时,白名单的维护,一般是一个文件,里边是一些IP地址(每行一个IP),当然也有的可能是 ...
- php获取总共内存_php获取页面运行使用内存的两个函数
原来php也是可以获取内存的,比如我们这个页面运行下来花了多少内存,都是可以用memory_get_usage()函数来读取出来的.那么,以后我们可以用这个函数方便的判断咱们写的程序优化度高不高,因为 ...
- php 获取上周日期_php 获取今日、昨日、上周、本月的起始时间戳和结束时间
1.php获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,date('m'),date('d'),date('Y'));$endToday=mktime(0,date('d' ...
- mysql 获取操作系统信息_php获取服务器操作系统相关信息的方法
这篇文章主要介绍了php获取服务器操作系统相关信息的方法,涉及php针对服务器端预定义变量及系统函数的使用技巧,需要的朋友可以参考下 本文实例讲述了php获取服务器操作系统相关信息的方法.分享给大家供 ...
- php 获取上周日期_php 获取上一周下一周的日期列表
/** * 获取某天的一周日期 * @date 2021-01-08 * @version 1.0 * @param string $time [日期] * @param string $format ...
- php获取总共内存_PHP获取内存使用情况详解
本篇将详解php获取内存使用情况. PHP内置函数memory_get_usage()能返回当前分配给PHP脚本的内存量,单位是字节(byte).在WEB实际开发中,这些函数非常有用,我们可以使用它来 ...
最新文章
- sql 只取一条记录_后端程序员必备:书写高质量SQL的30条建议
- php list 转tree,PHP 数组转树形结构
- ethz研究生申请官网
- 《Android游戏开发详解》一导读
- 教你写Bug,常见的 OOM 异常分析
- 深度学习attention原理_深度学习Anchor Boxes原理与实战技术
- java web不用框架_初学javaweb,远离各自框架
- 秘笈——掌控时间管理的工具
- linux如何搜全部文件含有字符串,Linux下查找目录中全部文件中含有某个字符串,而且只打印出文件名...
- 为Android购买多个改装微信,从制作一个“微信多开版”看微信安全
- 小卡机器人积木教程_全新小卡智能电动积木,56种玩法,可拼搭28款造型
- unity3d摄像机的透视有些夸张怎么办?
- 武昌理工学院计算机巧业怎样,最潮高校宿管员巧念育人经 做学生们的“知心大姐”...
- 0xc0000005 系统应用日志_0xc0000005,小编教你怎么解决应用程序正常初始化0xc0000005失败...
- 微软自带输入法输入时英文的间距突然变大
- 什么OKR,分明是中华田园KPI
- 螣龙安科:在线协作平台的安全建议
- 用计算机画磁化曲线方法,试验铁磁材料的静态磁化曲线测量试验目的学习用电子积分.DOC...
- STM32工作笔记007---认识OLED屏和LCD屏的区别
- 全志a33核心板方案应用