PHP 获取ip地址代码汇总


Posted in PHP onJuly 05, 2015

代码一:

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 相关文章推荐
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
php workerman定时任务的实现代码
Dec 23 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
php如何实现数据库的备份和恢复
Nov 30 PHP
PHP中$_SERVER使用说明
Jul 05 #PHP
php实现短信发送代码
Jul 05 #PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 #PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 #PHP
Cygwin中安装PHP方法步骤
Jul 04 #PHP
php使用Session和文件统计在线人数
Jul 04 #PHP
使用XHGui来测试PHP性能的教程
Jul 03 #PHP
You might like
社区(php&amp;&amp;mysql)一
2006/10/09 PHP
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
浅析php学习的路线图
2013/07/10 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
js列举css中所有图标的实现代码
2011/07/04 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python client使用http post 到server端的代码
2013/02/10 Python
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
大学生社会实践自我鉴定
2014/03/24 职场文书
公司介绍信范文
2015/01/31 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
小学毕业感言100字
2015/07/30 职场文书
交通安全主题班会
2015/08/12 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL