php判断当前操作系统类型


Posted in PHP onOctober 28, 2015

如何使用php获取当前操作系统类型呢?严格来说这里分两种情况,一种情况是获取服务器端的操作系统类型,一种是获取客户端的操作系统类型。下面作者将对如何使用php获取这两种情况下的操作系统类型和大家做一些分享。
(1)php获取服务器端的操作系统类型
这个时候可以使用php系统自带的常量 PHP_OS 或者系统函数php_uname('s')关于这两者返回的值可能的情况基本有如下几种情况:

  • CYGWIN_NT-5.1
  • Darwin
  • FreeBSD
  • HP-UX
  • IRIX64
  • Linux
  • NetBSD
  • OpenBSD
  • SunOS
  • Unix
  • WIN32
  • WINNT
  • Windows
  • CYGWIN_NT-5.1
  • IRIX64
  • SunOS
  • HP-UX
  • OpenBSD

不过根据具体情况读者还是自行打印出来结果看看最好,也许获得的结果不在上述之列。
(2)php获取客户端的操作系统类型,这里分享一个函数,比网上流传的那些判断更加精准,而且没有bug,函数代码如下:

function getOS(){ 
 $os=''; 
 $Agent=$_SERVER['HTTP_USER_AGENT']; 
 if (eregi('win',$Agent)&&strpos($Agent, '95')){ 
  $os='Windows 95'; 
 }elseif(eregi('win 9x',$Agent)&&strpos($Agent, '4.90')){ 
  $os='Windows ME'; 
 }elseif(eregi('win',$Agent)&&ereg('98',$Agent)){ 
  $os='Windows 98'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 5.0',$Agent)){ 
  $os='Windows 2000'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 6.0',$Agent)){ 
  $os='Windows Vista'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 6.1',$Agent)){ 
  $os='Windows 7'; 
 }elseif(eregi('win',$Agent)&&eregi('nt 5.1',$Agent)){ 
  $os='Windows XP'; 
 }elseif(eregi('win',$Agent)&&eregi('nt',$Agent)){ 
  $os='Windows NT'; 
 }elseif(eregi('win',$Agent)&&ereg('32',$Agent)){ 
  $os='Windows 32'; 
 }elseif(eregi('linux',$Agent)){ 
  $os='Linux'; 
 }elseif(eregi('unix',$Agent)){ 
  $os='Unix'; 
 }else if(eregi('sun',$Agent)&&eregi('os',$Agent)){ 
  $os='SunOS'; 
 }elseif(eregi('ibm',$Agent)&&eregi('os',$Agent)){ 
  $os='IBM OS/2'; 
 }elseif(eregi('Mac',$Agent)&&eregi('PC',$Agent)){ 
  $os='Macintosh'; 
 }elseif(eregi('PowerPC',$Agent)){ 
  $os='PowerPC'; 
 }elseif(eregi('AIX',$Agent)){ 
  $os='AIX'; 
 }elseif(eregi('HPUX',$Agent)){ 
  $os='HPUX'; 
 }elseif(eregi('NetBSD',$Agent)){ 
  $os='NetBSD'; 
 }elseif(eregi('BSD',$Agent)){ 
  $os='BSD'; 
 }elseif(ereg('OSF1',$Agent)){ 
  $os='OSF1'; 
 }elseif(ereg('IRIX',$Agent)){ 
  $os='IRIX'; 
 }elseif(eregi('FreeBSD',$Agent)){ 
  $os='FreeBSD'; 
 }elseif($os==''){ 
  $os='Unknown'; 
 } 
 return $os; 
}

根据服务器端还是客户端来决定采取的办法,希望通过这篇文章大家知道如何使用php获取当前操作系统类型。

PHP 相关文章推荐
windows下PHP APACHE MYSQ完整配置
Jan 02 PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
php 设计模式之 工厂模式
Dec 19 PHP
php文件操作实例代码
May 10 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
PHP用身份证号获取星座和生肖的方法
Nov 07 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
php获取CSS文件中图片地址并下载到本地的方法
Dec 02 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
php中bind_param()函数用法分析
Mar 28 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 PHP
详解PHP序列化反序列化的方法
Oct 27 #PHP
php使用ZipArchive函数实现文件的压缩与解压缩
Oct 27 #PHP
php常量详细解析
Oct 27 #PHP
php过滤所有的空白字符(空格、全角空格、换行等)
Oct 27 #PHP
PHP的APC模块实现上传进度条
Oct 27 #PHP
php+ajax制作无刷新留言板
Oct 27 #PHP
一个完整的php文件上传类实例讲解
Oct 27 #PHP
You might like
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
杏林同学录(四)
2006/10/09 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
js 窗口抖动示例
2013/09/04 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
小程序云开发实战小结
2018/10/25 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
Python内置函数之filter map reduce介绍
2014/11/30 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
python实现bucket排序算法实例分析
2015/05/04 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Python多进程原理与用法分析
2018/08/21 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python add_argument()用法解析
2020/01/29 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
高三地理教学反思
2014/01/11 职场文书
刚毕业大学生自荐信范文
2014/02/20 职场文书
学生会主席竞聘书
2014/03/31 职场文书
学校校庆演讲稿
2014/05/22 职场文书
销售助理岗位职责
2015/02/11 职场文书
家庭贫困证明
2015/06/16 职场文书
正规欠条模板
2015/07/03 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
Java基础-封装和继承
2021/07/02 Java/Android