您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

php获取客户端外网/公网IP的代码

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:15 点击:

冷锋:两种方法都可用,第一种要利用内置的curl支持,第二种比较通用。建议使用第二种。
方法一:curl

function get_onlineip() {
$ch = curl_init(http://www.ip138.com/ip2city.asp);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$a = curl_exec($ch);
preg_match(/[(.*)]/, $a, $ip);
return $ip[1];
}

方法二:$_SERVER[HTTP_X_FORWARDED_FOR]来获取相应的地址

<?php
function get_onlineip() {
$onlineip = ;
if(getenv(HTTP_CLIENT_IP) && strcasecmp(getenv(HTTP_CLIENT_IP), unknown)) {
$onlineip = getenv(HTTP_CLIENT_IP);
} elseif(getenv(HTTP_X_FORWARDED_FOR) && strcasecmp(getenv(HTTP_X_FORWARDED_FOR), unknown)) {
$onlineip = getenv(HTTP_X_FORWARDED_FOR);
} elseif(getenv(REMOTE_ADDR) && strcasecmp(getenv(REMOTE_ADDR), unknown)) {
$onlineip = getenv(REMOTE_ADDR);
} elseif(isset($_SERVER[REMOTE_ADDR]) && $_SERVER[REMOTE_ADDR] && strcasecmp($_SERVER[REMOTE_ADDR], unknown)) {
$onlineip = $_SERVER[REMOTE_ADDR];
}
return $onlineip;
}

echo get_onlineip();
?>

 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • PHP测试
      • 十天学会php之第六天
      • 几种显示数据的方法的比较
      • 使用xmlhttp为网站增加域名查询功能
      • PHP+MYSQL+Javascript数据库查询结果的动态显示
      • 查找数组中指定键名的值
      • 用redis实现跨服务器session
      • 用新浪微博接口发送图片微博失败的原因
      • smarty局部缓存技术[源码分析]
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1