我们知道php本身就有一些系统预定义变量,通过这些变量可以简单的判断服务器操作系统是windows还是Lunix, 其中相关的函数或者预定义变量有:
php_uname();
PHP_OS
DIRECTORY_SEPARATOR
PHP_SHLIB_SUFFIX
PATH_SEPARATOR
php判断windows、Linux系统方法一:
2 | if (PATH_SEPARATOR== ':' ){ |
|
关于PATH_SEPARATOR 介绍:include 多个路径使用,在win下,当你要include多个路径的话,你要用”; ” 隔开,但在linux下就使用”: ”隔开的。这2个常量的使用能够避免不同平台的兼容性问题。
php判断windows还是Linux系统方法二:2 | if ( strtoupper ( substr (PHP_OS, 0, 3)) === 'WIN' ) { |
3 | echo '这个服务器操作系统为Windows!' ; |
5 | echo '这个服务器操作系统不是Windows系统!' ; |
|
来自
http://www.5ixuexiwang.com/phprumenjiaocheng/2014/0618/2037.htmlphp自身有许多与运行操作系统有关的系统预定义变量,通过这些预定义变量可以很轻松的判断当前的系统是 windows 还是 Linux 还是 unix。下面就一一列出这些比较实用的预定义变量并稍作分析。
php_uname()
PHP_OS
DIRECTORY_SEPARATOR
PATH_SEPARATOR
php_uname()这个函数的意义在于返回当前PHP所运行的系统的信息,下面对这个函数详细说明一下:
-
-
-
-
-
-
-
-
-
-
-
- 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 服务器';