欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP判断服务器是windows系统还是Linux系统

我们知道php本身就有一些系统预定义变量,通过这些变量可以简单的判断服务器操作系统是windows还是Lunix, 其中相关的函数或者预定义变量有:
 
php_uname();
PHP_OS
DIRECTORY_SEPARATOR
PHP_SHLIB_SUFFIX
PATH_SEPARATOR
 
php判断windows、Linux系统方法一:

1<?
2if(PATH_SEPARATOR==':'){
3echo 'Linux系统';
4}else{
5echo 'Windows系统';
6}
7?>

关于PATH_SEPARATOR 介绍:include 多个路径使用,在win下,当你要include多个路径的话,你要用”; ” 隔开,但在linux下就使用”: ”隔开的。这2个常量的使用能够避免不同平台的兼容性问题。
 
php判断windows还是Linux系统方法二:

1<?php
2if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
3    echo '这个服务器操作系统为Windows!';
4}else{
5    echo '这个服务器操作系统不是Windows系统!';
6}
7?>
来自  http://www.5ixuexiwang.com/phprumenjiaocheng/2014/0618/2037.html


php自身有许多与运行操作系统有关的系统预定义变量,通过这些预定义变量可以很轻松的判断当前的系统是 windows 还是 Linux 还是 unix。下面就一一列出这些比较实用的预定义变量并稍作分析。

php_uname()
PHP_OS
DIRECTORY_SEPARATOR
PATH_SEPARATOR

php_uname()这个函数的意义在于返回当前PHP所运行的系统的信息,下面对这个函数详细说明一下:


  1. /** 
  2. * 功能:返回当前PHP所运行的系统的信息 
  3. * @param string $mode  
  4. *       'a':  返回所有信息 
  5. *       's':  操作系统的名称,如FreeBSD 
  6. *       'n':  主机的名称,如cnscn.org 
  7. *       'r':  版本名,如5.1.2-RELEASE 
  8. *       'v':  操作系统的版本号 
  9. *       'm': 核心类型,如i386 
  10. * @return string 
  11. */ 
  12. string php_uname([string $mode]); 

使用示例:


  1. echo php_uname(); 
  2. echo php_uname('s'); 

PHP_OS php自带的一个内置常量,返回的是服务器端的操作系统标示,值为(WINNT,WIN32等)

使用示例:


  1. echo strtoupper(substr(PHP_OS,0,3))==='WIN'?'windows 服务器':'不是 widnows 服务器'; 

DIRECTORY_SEPARATOR php自带的一个内置常量,用来显示系统分隔符的命令,不需要任何定义与包含即可直接使用。众所周知,在windows下路径分隔符是\(当然/在部分系统上也是可以正常运行的),在linux上路径的分隔符是/,DIRECTORY_SEPARATOR 这个额常量存在的意义就是会根据不同的操作系统来显示不同的分隔符。

使用 DIRECTORY_SEPARATOR 判断操作系统类型的示例如下:


  1. echo DIRECTORY_SEPARATOR=='\\'?'windows 服务器':'不是 widnows 服务器'; 

PATH_SEPARATOR 是一个常量,在linux系统中是一个" : "号,Windows上是一个";"号。

使用 PATH_SEPARATOR 判断操作系统类型的示例如下:


  1. echo PATH_SEPARATOR==';'?'windows 服务器':'不是 widnows 服务器'; 
普通分类: