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 相关文章推荐
PHP中显示格式化的用户输入
Oct 09 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
浅析php变量修饰符static的使用
Jun 28 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 PHP
Zend Framework教程之模型Model用法简单实例
Mar 04 PHP
round robin权重轮循算法php实现代码
May 28 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
PHP目录操作实例总结
Sep 27 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
Python下线程之间的共享和释放示例
2015/05/04 Python
python机器学习库常用汇总
2017/11/15 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
python修改FTP服务器上的文件名
2019/09/11 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
如何关掉pycharm中的python console(图解)
2019/10/31 Python
Python的形参和实参使用方式
2019/12/24 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
建筑专业毕业生推荐信
2013/11/21 职场文书
学生周末长期请假条
2014/02/15 职场文书
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
公司副总经理任命书
2014/06/05 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2014年预算员工作总结
2014/12/05 职场文书
2015年度党员个人总结
2015/02/14 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android