如何使用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获取当前操作系统类型。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!