如何使用php判断所处服务器操作系统的类型


Posted in PHP onJune 20, 2013

我本机开发用的是winXP,但是上传的服务器是linux,每次上传前总是要改一下配置文件,还有其他一些什么的,
现在通过判断当前服务器的类型来决定执行什么样的程序,那么php如何判断所处服务器是什么类型呢
php有许多系统预定义变量,通过判断他们可以简单的判断系统是 windows还是*unix
其中相关的函数或者预定义变量如下

php_uname();
PHP_OS
DIRECTORY_SEPARATOR
PHP_SHLIB_SUFFIX
PATH_SEPARATOR

具体程序:
<?
if(PATH_SEPARATOR==':') echo 'Linux';
else echo 'Windows';
?>

或者
<?php
echo php_uname();
echo PHP_OS;
/* Some possible outputs:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux
FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD
Windows NT XN1 5.1 build 2600
WINNT
*/
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}
?>
PHP 相关文章推荐
笑谈配置,使用Smarty技术
Jan 04 PHP
解析:使用php mongodb扩展时 需要注意的事项
Jun 18 PHP
php中spl_autoload详解
Oct 17 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
WebQQ最新登陆协议的用法
Dec 22 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
laravel5.4生成验证码的实例讲解
Aug 05 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
php+ajax 文件上传代码实例
Mar 18 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 PHP
PHP中->和=>的意思
Mar 31 PHP
解析如何在PHP下载文件名中解决乱码的问题
Jun 20 #PHP
解析smarty 截取字符串函数 truncate的用法介绍
Jun 20 #PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 #PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 #PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 #PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 #PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 #PHP
You might like
php中$this-&amp;gt;含义分析
2009/11/29 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
ThinkPHP 3.2 版本升级了哪些内容
2015/03/05 PHP
vmware linux系统安装最新的php7图解
2019/04/14 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
vue-resource post数据时碰到Django csrf问题的解决
2020/03/13 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
Python中设置变量访问权限的方法
2015/04/27 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
实习教师自我鉴定
2013/12/12 职场文书
2015元旦节寄语
2014/12/08 职场文书
小升初自荐信范文
2015/03/05 职场文书
活动经费申请报告
2015/05/15 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
幼儿园小班班务总结
2015/08/03 职场文书