深入解析PHP获取客户端IP的方法

阅读量:26
2021-04-18
  1. function getip() {
  2. $unknown = 'unknown';
  3. if ( isset($_SERVER['']) && $_SERVER[''] && strcasecmp($_SERVER[''], $unknown) ) {
  4. $ip = $_SERVER['']; } elseif
  5. ( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {
  6. $ip = $_SERVER['REMOTE_ADDR'];
  7. }
  8. /* 处理多层代理的情况 或者使用正则方式:$ip = preg_match("/[/d/.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown; */
  9. if (false !== strpos($ip, ','))
  10. $ip = reset(explode(',', $ip)); return $ip;
  11. }

复制代码

注意:
使用函数getenv(’’)或getenv(’REMOTE_ADDR’) 也可以如上代码一样取得同样的效果。
不过,特别要留意的是,getenv()不支持在IIS的isapi方式下运行的PHP。

THE END

发表评论

相关推荐

  • 有关fgets()函数的文章推荐10篇

    以下正文:这篇文章主要介绍了PHP文件读写操作相关函数总结,本文总结了fwrite()、fread()、fgets()、fgetc()、file()、readf ...

    阅读量:65
    2021-04-19
  • php递归与无限分类实例详解

    这篇文章主要介绍了php实现递归与无限分类的方法,涉及php的递归操作技巧,需要的朋友可以参考下本文实例讲述了php实现递归与 ...

    阅读量:45
    2021-04-19
  • CI框架中zip类的使用

    CI框架自带的zip类简单实用,本文就来简单说一下ci框架的zip类的使用,需要的朋友可以参考下CI框架自带的zip类简单实用,本文 ...

    阅读量:44
    2021-04-18
  • SWFUpload插件上传文件的代码

    这篇文章主要介绍了文件上传之SWFUpload插件(代码),实现此代码主要分为两部分:1.前台文件和 2.后台文件upload.php,需要 ...

    阅读量:42
    2021-04-18
  • 关于destoon的URL Rewrite设置方法

    这篇文章主要介绍了destoon的URL Rewrite(伪静态)设置方法,需要的朋友可以参考下1、如果您的服务器支持.htaccess,则无需设 ...

    阅读量:47
    2021-04-18