mac是什么东东?是不是IP?
这个东东你用不用得着?
<?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;
    }}
?>

解决方案 »

  1.   

    to 在本机如何查看这个地址?如果是2000下 ipconfig /all如果是LINUX下好象是 ifconfig
      

  2.   

    如果你会用baidu的话 php mac 
    第一条就是
    <?php // 在linux下面取得MAC地址// 在windows下面需要外部mac.exe,// mac . exe为返回MAC地址的可执行程序,这个你们可以自己用DELPHi或者VC写 /// 作者 hisun  <[email protected]>// 任何疑问,请到 <a href="http://www.hisunweb.com" target="_blank">www.hisunweb.com</a> 留言,谢谢!// 请尊重作者劳动成果if ($_ENV["OS"] == "Windows_NT") {    function getMAC($nic = "lo")    {        $mac_exe_file = "e:\mac.exe";        if ($nic == 'lo') return "000000000000";        if ($nic != 'eth0') {            return false;        }         $s1 = trim(shell_exec($mac_exe_file));        return strtolower($s1);    } } else {    function getMAC($nic = "lo")    {        if ($nic == 'lo') return "000000000000";        $s1 = shell_exec("/sbin/ifconfig " . escapeshellarg($nic) . " | head -1");        if (strpos($s1, 'HWaddr') <= 1) {            return false;        } else {            $a = explode('HWaddr', $s1);            $s2 = str_replace(":", "", trim($a[1]));            return strtolower($s2);        }     } } // echo "lo=>".getMAC()."<br>";echo "eth0=>" . getMAC('eth0') . "<br>";echo "eth1=>" . getMAC('eth1') . "<br>";?>
      

  3.   

    上面取的都是服务器的MAC
    PHP是不能直接取浏览器客户端的MAC
    用其他办法吧
    我们用控件实现的,我们首页的绑定网卡登录就是这样实现的
    www.gotogame.com.cn
      

  4.   

    写一短ax控件,然后拿ax控件来读区mac地址,并传递给服务器
      

  5.   

    wangxinwen(吃猫肉练功的山中老妖) www.gotogame.com.cn是用ActiveX来实现的吗?
    feixuehenshui(飞雪恨水)不好意思从不用baidu的
      

  6.   

    是的,用ActiveX读取mac地址,再传递给php页面
      

  7.   

    经过测试正确:<?php@exec("arp -a",$array);
    for($Tmpa;$Tmpa<count($array);$Tmpa++){
          if(eregi($REMOTE_ADDR,$array[$Tmpa])){
                $mac=explode($REMOTE_ADDR,$array[$Tmpa]);
                echo $mac[1];
          }
    }
    echo $REMOTE_ADDR;
    ?>