哦,我的好象给错了~~忘记是那个常量是OS还是PHP_OS了

解决方案 »

  1.   

    function osinfo() {
    $os="";
    $Agent = $GLOBALS["HTTP_USER_AGENT"];
    if (eregi('win',$Agent) && strpos($Agent, '95')) $os="Win95";
    elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) $os="WinME";
    elseif (eregi('win',$Agent) && ereg('98',$Agent)) $os="Win98";
    elseif (eregi('win',$Agent) && eregi('nt 5\.0',$Agent)) $os="Win2000"; 
    elseif (eregi('win',$Agent) && eregi('nt 5\.1',$Agent)) $os="WinXP"; 
    elseif (eregi('win',$Agent) && eregi('nt',$Agent)) $os="WinNT";
    elseif (eregi('win',$Agent) && ereg('32',$Agent)) $os="Win32";
    elseif (eregi('linux',$Agent)) $os="Linux";
    elseif (eregi('unix',$Agent)) $os="Unix";
    elseif (eregi('sun',$Agent) && eregi('os',$Agent)) $os="SunOS";
    elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) $os="IBM OS/2";
    elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) $os="Macintosh";
    elseif (eregi('PowerPC',$Agent)) $os="PowerPC";
    elseif (eregi('AIX',$Agent)) $os="AIX";
    elseif (eregi('HPUX',$Agent)) $os="HPUX";
    elseif (eregi('NetBSD',$Agent)) $os="NetBSD";
    elseif (eregi('BSD',$Agent)) $os="BSD";
    elseif (ereg('OSF1',$Agent)) $os="OSF1";
    elseif (ereg('IRIX',$Agent)) $os="IRIX";
    elseif (eregi('FreeBSD',$Agent)) $os="FreeBSD";
     if ($os=='') $os = "Unknown";
    return $os;
    }
      

  2.   

    楼上的,HTTP_USER_AGENT是读客户端的信息吧,我要的是读服务器端的信息
      

  3.   

    zairwolfi(君子兰) 
    您的代码有问题啊,不论是在win2k还是在linux下执行,结果都是Unknown
      

  4.   

    zairwolfi(君子兰) 的是读取客户端的OS信息..
      

  5.   

    surfchen(冲浪)  $_SERVER['OS']在LINUX下读不出来数据啊
      

  6.   

    $_SERVER['OS']不可以
    PHP_OS可以