欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php判断当前操作系统类型

程序员文章站 2022-06-03 12:30:57
如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用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获取当前操作系统类型。