php获取访问者IP地址汇总


Posted in PHP onApril 24, 2015

//方法1:

$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;

//方法2:

$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;

//方法3:

function getRealIp()
{
  $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 getRealIp();

//方法4:

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 ;

//方法5:

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;

//方法6:

print "您的IP地址是:";


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 = "无法获取!";
}
print $cip;

以上所述就是本文的全部内容了,希望对大家学习php能够有所帮助。

PHP 相关文章推荐
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 PHP
PHP 采集获取指定网址的内容
Jan 05 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
PHP实现连接设备、通讯和发送命令的方法
Oct 13 PHP
部署PHP时的4个配置修改说明
Oct 19 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
php实现的RSS生成类实例
Apr 23 #PHP
php利用事务处理转账问题
Apr 22 #PHP
ThinkPHP文件缓存类代码分享
Apr 22 #PHP
php文件下载处理方法分析
Apr 22 #PHP
php实现用手机关闭计算机(电脑)的方法
Apr 22 #PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
Apr 22 #PHP
php文件缓存类用法实例分析
Apr 22 #PHP
You might like
PHP下几种删除目录的方法总结
2007/08/19 PHP
php 文章采集正则代码
2009/12/28 PHP
php继承的一个应用
2011/09/06 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
jquery使用remove()方法删除指定class子元素
2015/03/26 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
详谈javascript异步编程
2016/02/21 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
交通事故赔偿协议书范本
2014/04/15 职场文书
赡养老人协议书
2014/04/21 职场文书
美食节策划方案
2014/05/26 职场文书
公司收款委托书范本
2014/09/20 职场文书
2014年科技工作总结
2014/11/26 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
单位政审意见范文
2015/06/04 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书