如何使用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,函数代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
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获取当前操作系统类型。