php下获取客户端ip地址的函数


Posted in PHP onMarch 15, 2010
function getip() { 
$IP=getenv('REMOTE_ADDR'); 
$IP_ = getenv('HTTP_X_FORWARDED_FOR'); 
if (($IP_ != "") && ($IP_ != "unknown")) $IP=$IP_; 
return $IP; 
}

下面这个比较好的
function getIP() 
{ 
if (isset($_SERVER)) { 
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { 
$realip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { 
$realip = $_SERVER['HTTP_CLIENT_IP']; 
} else { 
$realip = $_SERVER['REMOTE_ADDR']; 
} 
} else { 
if (getenv("HTTP_X_FORWARDED_FOR")) { 
$realip = getenv( "HTTP_X_FORWARDED_FOR"); 
} elseif (getenv("HTTP_CLIENT_IP")) { 
$realip = getenv("HTTP_CLIENT_IP"); 
} else { 
$realip = getenv("REMOTE_ADDR"); 
} 
} 
return $realip; 
}
PHP 相关文章推荐
操作Oracle的php类
Oct 09 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
你应该知道PHP浮点数知识
May 13 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
PHP session会话操作技巧小结
Sep 27 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
PHP 模拟$_PUT实现代码
Mar 15 #PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 #PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 #PHP
php 无法载入mysql扩展
Mar 12 #PHP
PHP生成Flash动画的实现代码
Mar 12 #PHP
PHP 引用是个坏习惯
Mar 12 #PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 #PHP
You might like
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
一些mootools的学习资源
2010/02/07 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
深入浅析Bootstrap列表组组件
2016/05/03 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
Python 从相对路径下import的方法
2018/12/04 Python
Django配置跨域并开发测试接口
2020/11/04 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
学术会议欢迎词
2014/01/09 职场文书
贷款委托书范本
2014/04/08 职场文书
中文专业求职信
2014/06/20 职场文书
励志演讲稿300字
2014/08/21 职场文书
导游词之江南周庄
2019/12/06 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python