php判断当前操作系统类型

5年以前  |  阅读数:1071 次  |  编程语言:PHP 

如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。
(1)php获取服务器端的操作系统类型
这个时候可以使用php系统自带的常量 PHP_OS 或者系统函数php_uname('s')**。**关于这两者返回的值可能的情况基本有如下几种情况:

  • CYGWIN_NT-5.1
  • Darwin
  • FreeBSD
  • HP-UX
  • IRIX64
  • Linux
  • NetBSD
  • OpenBSD
  • SunOS
  • Unix
  • WIN32
  • WINNT
  • Windows
  • CYGWIN_NT-5.1
  • IRIX64
  • SunOS
  • HP-UX
  • OpenBSD

不过根据具体情况读者还是自行打印出来结果看看最好,也许获得的结果不在上述之列。
(2)php获取客户端的操作系统类型,这里分享一个函数,比网上流传的那些判断更加精准,而且没有bug,函数代码如下:


    function getOS(){ 
     $os=''; 
     $Agent=$_SERVER['HTTP_USER_AGENT']; 
     if (eregi('win',$Agent)&&strpos;($Agent, '95')){ 
      $os='Windows 95'; 
     }elseif(eregi('win 9x',$Agent)&&strpos;($Agent, '4.90')){ 
      $os='Windows ME'; 
     }elseif(eregi('win',$Agent)&&ereg;('98',$Agent)){ 
      $os='Windows 98'; 
     }elseif(eregi('win',$Agent)&&eregi;('nt 5.0',$Agent)){ 
      $os='Windows 2000'; 
     }elseif(eregi('win',$Agent)&&eregi;('nt 6.0',$Agent)){ 
      $os='Windows Vista'; 
     }elseif(eregi('win',$Agent)&&eregi;('nt 6.1',$Agent)){ 
      $os='Windows 7'; 
     }elseif(eregi('win',$Agent)&&eregi;('nt 5.1',$Agent)){ 
      $os='Windows XP'; 
     }elseif(eregi('win',$Agent)&&eregi;('nt',$Agent)){ 
      $os='Windows NT'; 
     }elseif(eregi('win',$Agent)&&ereg;('32',$Agent)){ 
      $os='Windows 32'; 
     }elseif(eregi('linux',$Agent)){ 
      $os='Linux'; 
     }elseif(eregi('unix',$Agent)){ 
      $os='Unix'; 
     }else if(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'; 
     }elseif($os==''){ 
      $os='Unknown'; 
     } 
     return $os; 
    } 

根据服务器端还是客户端来决定采取的办法,希望通过这篇文章大家知道如何使用php获取当前操作系统类型。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例