PHP中判断当前操作系统类型

(1)获取服务器端的操作系统类型

function getOS() {
    return PHP_OS;
}

(2)获取客户端的操作系统类型

function getOS() {
    $os = '';
    $Agent = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match('/win/i', $Agent) && strpos($Agent, '95')) {
        $os = 'Windows 95';
    } elseif (preg_match('/win 9x/i', $Agent) && strpos($Agent, '4.90')) {
        $os = 'Windows ME';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/98/', $Agent)) {
        $os = 'Windows 98';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/nt 5.0/i', $Agent)) {
        $os = 'Windows 2000';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/nt 6.0/i', $Agent)) {
        $os = 'Windows Vista';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/nt 6.1/i', $Agent)) {
        $os = 'Windows 7';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/nt 5.1/i', $Agent)) {
        $os = 'Windows XP';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/nt/i', $Agent)) {
        $os = 'Windows NT';
    } elseif (preg_match('/win/i', $Agent) && preg_match('/32/', $Agent)) {
        $os = 'Windows 32';
    } elseif (preg_match('/linux/i', $Agent)) {
        $os = 'Linux';
    } elseif (preg_match('/unix/i', $Agent)) {
        $os = 'Unix';
    } else if (preg_match('/sun/i', $Agent) && preg_match('/os/i', $Agent)) {
        $os = 'SunOS';
    } elseif (preg_match('/ibm/i', $Agent) && preg_match('/os/i', $Agent)) {
        $os = 'IBM OS/2';
    } elseif (preg_match('/Mac/i', $Agent) && preg_match('/PC/i', $Agent)) {
        $os = 'Macintosh';
    } elseif (preg_match('/PowerPC/i', $Agent)) {
        $os = 'PowerPC';
    } elseif (preg_match('/AIX/i', $Agent)) {
        $os = 'AIX';
    } elseif (preg_match('/HPUX/i', $Agent)) {
        $os = 'HPUX';
    } elseif (preg_match('/NetBSD/i', $Agent)) {
        $os = 'NetBSD';
    } elseif (preg_match('/BSD/i', $Agent)) {
        $os = 'BSD';
    } elseif (preg_match('/OSF1/', $Agent)) {
        $os = 'OSF1';
    } elseif (preg_match('/IRIX/', $Agent)) {
        $os = 'IRIX';
    } elseif (preg_match('/FreeBSD/i', $Agent)) {
        $os = 'FreeBSD';
    } elseif ($os == '') {
        $os = 'Unknown';
    }
    return $os;
}

原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com

(0)
witersen的头像witersen
上一篇 2020年9月28日 下午2:41
下一篇 2020年10月22日 下午8:01

相关推荐

  • php发送异步请求示例

    php没有直接支持异步请求,可以通过 fsockopen 等方式曲线实现 以下方案适合向大量微信公众号用户推送消息的场景下使用,关键在于 path 与 query的拼接

    2023年7月26日
    1.4K0

发表回复

登录后才能评论