PHP获取客户端IP
2015-11-24 00:00
756 查看
/** * 获取客户端ip * * @link http://www.cnblogs.com/belie8/articles/2368957.html * @return string * @author http://my.oschina.net/wuzhencan/blog */ public function getClientIp(){ $ip = ''; $xip = $_SERVER['HTTP_X_FORWARDED_FOR']; $cip = $_SERVER['HTTP_CLIENT_IP']; $rip = $_SERVER['REMOTE_ADDR']; //使用代理服务器情况 if($xip && strcasecmp($xip, 'unknown')) { if(false !== strpos($xip,',')) { $ipArr = explode(',',$xip); foreach($ipArr as $val) { if(trim(strtolower($val)) != 'unknown') { $ip = $val; break; } } } else { $ip = $xip; } } elseif($cip && strcasecmp($cip, 'unknown')) { $ip = $cip; } elseif($rip && strcasecmp($rip, 'unknown')) { $ip = $rip; } preg_match("/[\d\.]{7,15}/", $ip, $match); return $match[0] ? $match[0] : 'unknown'; }
参考链接:
http://www.cnblogs.com/belie8/articles/2368957.html
相关文章推荐
- PHPSTORM+XDEBUG断点调试PHP
- PHP实现一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定
- Ci框架 邮件类发送邮件 & TP5使用PHPMailer发送邮箱
- thinkPHP3.2.3完整版 在sae上面的部署
- ***使用PHP实现文件上传和多文件上传
- 详谈ByteArrayOutputStream的用法
- visual studio2013 php
- PHP关系型数据库介绍
- PHP PDO调用sqlsrv的存储过程
- php之输出缓存ob
- ByteArrayInputStream 和 ByteArrayOutputStream
- PHP之const与define的区别
- thinkphp3.2模块分组的建立详细步骤
- PagerAdapter,FragmentPagerAdapter,FragmentStatePagerAdapter三者的认识
- php for循环的坑,千万不要在判断条件中使用count
- thinkphp3.1模块分组的建立详细步骤
- zabbix邮件报警(msmtp代理)
- PHP页面之间跳转方法总结
- 解决RouteOS多线路叠加无法访问FTP问题
- PHP __set(),__get(),isset(),unset()函数