当前位置:首页 > PHP教程 > php高级应用 > 列表

php判断当前操作系统类型

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-23 18:46:08 浏览: 评论:0 

这篇文章主要介绍了php判断当前操作系统类型,分为两种情况一种是服务器端,一种是客户端,感兴趣的小伙伴们可以参考一下。

如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。

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

这个时候可以使用php系统自带的常量 PHP_OS 或者系统函数php_uname('s')。关于这两者返回的值可能的情况基本有如下几种情况:

  1. CYGWIN_NT-5.1 
  2. Darwin 
  3. FreeBSD 
  4. HP-UX 
  5. IRIX64 
  6. Linux 
  7. NetBSD 
  8. OpenBSD 
  9. SunOS 
  10. Unix 
  11. WIN32 
  12. WINNT 
  13. Windows 
  14. CYGWIN_NT-5.1 
  15. IRIX64 
  16. SunOS 
  17. HP-UX 
  18. OpenBSD 

不过根据具体情况读者还是自行打印出来结果看看最好,也许获得的结果不在上述之列。

(2)php获取客户端的操作系统类型,这里分享一个函数,比网上流传的那些判断更加精准,而且没有bug,函数代码如下:

  1. function getOS(){  
  2.  $os='';  
  3.  $Agent=$_SERVER['HTTP_USER_AGENT'];  
  4.  if (eregi('win',$Agent)&&strpos($Agent'95')){  
  5.   $os='Windows 95';  
  6.  }elseif(eregi('win 9x',$Agent)&&strpos($Agent'4.90')){  
  7.   $os='Windows ME';  
  8.  }elseif(eregi('win',$Agent)&&ereg('98',$Agent)){  
  9.   $os='Windows 98';  
  10.  }elseif(eregi('win',$Agent)&&eregi('nt 5.0',$Agent)){  
  11.   $os='Windows 2000';  
  12.  }elseif(eregi('win',$Agent)&&eregi('nt 6.0',$Agent)){  
  13.   $os='Windows Vista';  
  14.  }elseif(eregi('win',$Agent)&&eregi('nt 6.1',$Agent)){  
  15.   $os='Windows 7';  
  16.  }elseif(eregi('win',$Agent)&&eregi('nt 5.1',$Agent)){  
  17.   $os='Windows XP';  
  18.  }elseif(eregi('win',$Agent)&&eregi('nt',$Agent)){  
  19.   $os='Windows NT';  
  20.  }elseif(eregi('win',$Agent)&&ereg('32',$Agent)){  
  21.   $os='Windows 32';  
  22.  }elseif(eregi('linux',$Agent)){  
  23.   $os='Linux';  
  24.  }elseif(eregi('unix',$Agent)){  
  25.   $os='Unix';  
  26.  }else if(eregi('sun',$Agent)&&eregi('os',$Agent)){  
  27.   $os='SunOS';  
  28.  }elseif(eregi('ibm',$Agent)&&eregi('os',$Agent)){  
  29.   $os='IBM OS/2';  
  30.  }elseif(eregi('Mac',$Agent)&&eregi('PC',$Agent)){  
  31.   $os='Macintosh';  
  32.  }elseif(eregi('PowerPC',$Agent)){  
  33.   $os='PowerPC';  
  34.  }elseif(eregi('AIX',$Agent)){  
  35.   $os='AIX';  
  36.  }elseif(eregi('HPUX',$Agent)){  
  37.   $os='HPUX';  
  38.  }elseif(eregi('NetBSD',$Agent)){  
  39.   $os='NetBSD';  
  40.  }elseif(eregi('BSD',$Agent)){  
  41.   $os='BSD';  
  42.  }elseif(ereg('OSF1',$Agent)){  
  43.   $os='OSF1';  
  44.  }elseif(ereg('IRIX',$Agent)){  
  45.   $os='IRIX';  
  46.  }elseif(eregi('FreeBSD',$Agent)){  
  47.   $os='FreeBSD';  
  48.  }elseif($os==''){  
  49.   $os='Unknown';  
  50.  }  
  51.  return $os;  

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

Tags: php操作系统类型

分享到: