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 substr,mb_substr以及mb_strcut的区别和用法
Jun 21 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
PHP单元测试框架PHPUnit用法详解
Jan 23 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
Smarty模板配置实例简析
Jul 20 PHP
JS中彻底删除JSON对象组成的数组中的元素
Sep 22 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
Yii学习总结之安装配置
2015/02/22 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
Vue.js划分组件的方法
2017/10/29 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
vue实例的选项总结
2020/06/09 Javascript
python判断输入日期为第几天的实例
2018/11/13 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
详解Python 4.0 预计推出的新功能
2019/07/26 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
几个常见的软件测试问题
2016/09/07 面试题
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
销售会计工作职责
2013/12/02 职场文书
学校学习雷锋活动总结
2014/07/03 职场文书
预备党员转正材料
2014/12/19 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书