zoukankan      html  css  js  c++  java
  • php 获取 ip 地址 函数

    php 获取 ip 地址 函数:

    function getIP () //取IP函数
    {
    global $_SERVER;
    if (getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
    }
    else if (getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
    }
    else if (getenv('REMOTE_ADDR')) {
    $ip = getenv('REMOTE_ADDR');
    }
    else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
    }

    扩展:

    <?php class clientGetObj
    {
    function getBrowse()
    {
    global $_SERVER;
    $Agent = $_SERVER['HTTP_USER_AGENT'];
    $browser = '';
    $browserver = '';
    $Browser = array('Lynx', 'MOSAIC', 'AOL', 'Opera', 'JAVA', 'MacWeb', 'WebExplorer', 'OmniWeb');
    for($i = 0; $i <= 7; $i ++){
    if(strpos($Agent, $Browsers[$i])){
    $browser = $Browsers[$i];
    $browserver = '';
    }
    }
    if(ereg('Mozilla', $Agent) && !ereg('MSIE', $Agent)){
    $temp = explode('(', $Agent);
    $Part = $temp[0];
    $temp = explode('/', $Part);
    $browserver = $temp[1];
    $temp = explode(' ', $browserver);
    $browserver = $temp[0];
    $browserver = preg_replace('/([d.]+)/', '1', $browserver);
    $browserver = $browserver;
    $browser = 'Netscape Navigator';
    }
    if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent)) {
    $temp = explode('(', $Agent);
    $Part = $temp[1];
    $temp = explode(')', $Part);
    $browserver = $temp[1];
    $temp = explode(' ', $browserver);
    $browserver = $temp[2];
    $browserver = preg_replace('/([d.]+)/', '1', $browserver);
    $browserver = $browserver;
    $browser = 'Opera';
    }
    if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent)){
    $temp = explode('(', $Agent);
    $Part = $temp[1];
    $temp = explode(';', $Part);
    $Part = $temp[1];
    $temp = explode(' ', $Part);
    $browserver = $temp[2];
    $browserver = preg_replace('/([d.]+)/','1',$browserver);
    $browserver = $browserver;
    $browser = 'Internet Explorer';
    }
    if($browser != ''){
    $browseinfo = $browser.' '.$browserver;
    }
    else {
    $browseinfo = false;
    }
    return $browseinfo;
    }


    function getIP ()
    {
    global $_SERVER;
    if (getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
    }
    else if (getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
    }
    else if (getenv('REMOTE_ADDR')) {
    $ip = getenv('REMOTE_ADDR');
    }
    else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
    }


    function getOS ()
    {
    global $_SERVER;
    $agent = $_SERVER['HTTP_USER_AGENT'];
    $os = false;
    if (eregi('win', $agent) && strpos($agent, '95')){
    $os = 'Windows 95';
    }
    else if (eregi('win 9x', $agent) && strpos($agent, '4.90')){
    $os = 'Windows ME';
    }
    else if (eregi('win', $agent) && ereg('98', $agent)){
    $os = 'Windows 98';
    }
    else if (eregi('win', $agent) && eregi('nt 5.1', $agent)){
    $os = 'Windows XP';
    }
    else if (eregi('win', $agent) && eregi('nt 5', $agent)){
    $os = 'Windows 2000';
    }
    else if (eregi('win', $agent) && eregi('nt', $agent)){
    $os = 'Windows NT';
    }
    else if (eregi('win', $agent) && ereg('32', $agent)){
    $os = 'Windows 32';
    }
    else if (eregi('linux', $agent)){
    $os = 'Linux';
    }
    else if (eregi('unix', $agent)){
    $os = 'Unix';
    }
    else if (eregi('sun', $agent) && eregi('os', $agent)){
    $os = 'SunOS';
    }
    else if (eregi('ibm', $agent) && eregi('os', $agent)){
    $os = 'IBM OS/2';
    }
    else if (eregi('Mac', $agent) && eregi('PC', $agent)){
    $os = 'Macintosh';
    }
    else if (eregi('PowerPC', $agent)){
    $os = 'PowerPC';
    }
    else if (eregi('AIX', $agent)){
    $os = 'AIX';
    }
    else if (eregi('HPUX', $agent)){
    $os = 'HPUX';
    }
    else if (eregi('NetBSD', $agent)){
    $os = 'NetBSD';
    }
    else if (eregi('BSD', $agent)){
    $os = 'BSD';
    }
    else if (ereg('OSF1', $agent)){
    $os = 'OSF1';
    }
    else if (ereg('IRIX', $agent)){
    $os = 'IRIX';
    }
    else if (eregi('FreeBSD', $agent)){
    $os = 'FreeBSD';
    }
    else if (eregi('teleport', $agent)){
    $os = 'teleport';
    }
    else if (eregi('flashget', $agent)){
    $os = 'flashget';
    }
    else if (eregi('webzip', $agent)){
    $os = 'webzip';
    }
    else if (eregi('offline', $agent)){
    $os = 'offline';
    }
    else {
    $os = 'Unknown';
    }
    return $os;
    }


    }
    ?>


  • 相关阅读:
    MySQL改动rootpassword的多种方法
    略论并行处理系统的日志设计
    ERROR (UnicodeEncodeError): 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128
    UnicodeEncodeError: 'ascii' codec can't encode character u'u65e0' in position 1: ordinal not in range(128)
    python -m json.tool 中文乱码 Format JSON with python
    CentOS6.6 zookeeper完全集群搭建
    libvirt kvm云主机监控
    glance image-create
    通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 instance 重启后又会差 8 个小时
    云监控网址
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2071939.html
Copyright © 2011-2022 走看看