取得客户端信息

原创 2005年04月24日 17:45:00

<?php
/*
作用:取得客户端信息
参数:
返回:指定的资料
使用:
    $code = new clientGetObj;
    1、浏览器:$str = $code->getBrowse();
    2、IP地址:$str = $code->getIP();
    4、操作系统:$str = $code->getOS();
*/

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;
    }

}
?>

ASP.NET 取得客户端信息

using System.Collections.Specialized   int loop1, loop2;   NameValueCollection coll;    // Load Serv...
  • hfzsjz
  • hfzsjz
  • 2007年10月10日 11:00
  • 551

取得客户端信息

[PHP]/*作用:取得客户端信息参数:返回:指定的资料使用:        $code = new client;        1、浏览器:$str = $code->getBrowse();  ...
  • kxtk
  • kxtk
  • 2006年08月03日 10:56
  • 709

ASP.NET取得客户端信息

  • zgqtxwd
  • zgqtxwd
  • 2008年04月24日 07:22
  • 68

取得客户端信息(浏览器/IP/操作系统)

class clientGetObj{  function getBrowse()  {    global $_SERVER;    $Agent = $_SERVER[HTTP_USER_AGEN...
  • meansong
  • meansong
  • 2004年09月15日 14:48
  • 578

取得客户端信息(浏览器/IP/操作系统)

class clientGetObj{  function getBrowse()  {    global $_SERVER;    $Agent = $_SERVER[HTTP_USER_AGEN...
  • fzjw
  • fzjw
  • 2004年07月24日 11:12
  • 1017

php取得客户端信息(浏览器/IP/操作系统)

php class clientGetObj{function getBrowse(){global $_SERVER;$Agent = $_SERVER[HTTP_USER_AGENT];$brow...
  • sumor
  • sumor
  • 2006年08月19日 23:53
  • 829

CAS SSO 4.0 单点登录返回更多用户信息

从cas server登录成功后,默认只能从cas server得到用户名。但程序中也可能遇到需要得到更多如姓名,手机号,email等更多用户信息的情况。 cas client拿到用户名后再到数据库中...
  • carl_china
  • carl_china
  • 2015年10月15日 23:23
  • 4037

ASP 获取客户端信息

Request.ServerVariables(ASP获取客户端相关信息) Request.ServerVariables("Url")  返回服务器地址 Request.ServerVaria...
  • cnicfhnui
  • cnicfhnui
  • 2016年03月31日 10:35
  • 408

005_Http之request获取客户端信息01

request  ·····封装了客户端所有的请求数据! ·····请求协议中的数据都可以通过request对象来获取! ----------------------------------...
  • ssyes123
  • ssyes123
  • 2016年02月27日 16:19
  • 275

java获取客户端的信息

以前存的笔记,找不到转载地址了。 String agent = request.getHeader("user-agent"); System.out.println(agent); Strin...
  • binginsist
  • binginsist
  • 2017年05月10日 21:49
  • 500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取得客户端信息
举报原因:
原因补充:

(最多只允许输入30个字)