引子:
今天遇到一個問題,當執行文件操作是,不同系統之間的命令是不同的 , 所以需要判斷當前系統。
1 $is_win = strtoupper(substr(PHP_OS,0,3))==='WIN'?1:0;
附帶另外幾個php 內置判斷方法
php_uname()
PHP_OS
DIRECTORY_SEPARATOR
PATH_SEPARATOR
4.1 php_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');
4.2 PHP_OS php自帶的一個內置常量,返回的是
服務器端的操作系統標示,值為(WINNT,WIN32等)
- echo strtoupper(substr(PHP_OS,0,3))==='WIN'?'windows 服務器':'不是 widnows 服務器';
DIRECTORY_SEPARATOR php自帶的一個內置常量,用來顯示系統分隔符的命令,不需要任何定義與包含即可直接使用。眾所周知,在windows下路徑分隔符是\(當然/在部分系統上也是可以正常運行的),在linux上路徑的分隔符是/,DIRECTORY_SEPARATOR 這個額常量存在的意義就是會根據不同的操作系統來顯示不同的分隔符。
使用 DIRECTORY_SEPARATOR 判斷操作系統類型的示例如下:
- '\\''windows 服務器''不是 widnows 服務器'PATH_SEPARATOR 是一個常量,在linux系統中是一個" : "號,Windows上是一個";"號。
使用 PATH_SEPARATOR 判斷操作系統類型的示例如下:
- ';''windows 服務器''不是 widnows 服務器'
- ';''windows 服務器''不是 widnows 服務器'