php自身有許多與運行操作系統有關的系統預定義變量,通過這些預定義變量可以很輕松的判斷當前的系統是 windows 還是 Linux 還是 unix。
下面就一一列出這些比較實用的預定義變量並稍作分析。
php_uname()
PHP_OS
DIRECTORY_SEPARATOR
PATH_SEPARATORphp_uname()這個函數的意義在於返回當前PHP所運行的系統的信息,下面對這個函數詳細說明一下:
/**
* 功能:返回當前PHP所運行的系統的信息
* @param string $mode
* 'a': 返回所有信息
* 's': 操作系統的名稱,如FreeBSD
* 'n': 主機的名稱,如cnscn.org
* 'r': 版本名,如5.1.2-RELEASE
* 'v': 操作系統的版本號
* 'm': 核心類型,如i386
* @return string
*/
string php_uname([string $mode]);
使用示例:
echo php_uname();
echo php_uname('s');
PHP_OS
php自帶的一個內置常量,返回的是服務器端的操作系統標示,值為(WINNT,WIN32等)使用示例:
echo strtoupper(substr(PHP_OS,0,3))==='WIN'?'windows 服務器':'不是 widnows 服務器';
DIRECTORY_SEPARATOR php自帶的一個內置常量,用來顯示系統分隔符的命令,不需要任何定義與包含即可直接使用。
眾所周知,在windows下路徑分隔符是(當然/在部分系統上也是可以正常運行的),在linux上路徑的分隔符是/,DIRECTORY_SEPARATOR 這個額常量存在的意義就是會根據不同的操作系統來顯示不同的分隔符。
使用 DIRECTORY_SEPARATOR 判斷操作系統類型的示例如下:
echo DIRECTORY_SEPARATOR=='\'?'windows 服務器':'不是 widnows 服務器';
PATH_SEPARATOR 是一個常量,在linux系統中是一個" : "號,Windows上是一個";"號。
使用 PATH_SEPARATOR 判斷操作系統類型的示例如下:
echo PATH_SEPARATOR==';'?'windows 服務器':'不是 widnows 服務器';
*