如何使用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 (沒有列在Wikipedia)
不過根據具體情況讀者還是自行打印出來結果看看最好,也許獲得的結果不在上述之列。
(2)php獲取客戶端的操作系統類型
函數代碼如下:
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;
}
*