首页 > 开发 > PHP > 正文

取得客户端信息

2024-05-04 22:58:52
字体:
来源:转载
供稿:网友
菜鸟学堂:

<?
/*
作用:取得客户端信息
参数:
返回:指定的资料
使用:
    $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;
    }
}
 
?>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表