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 相关文章推荐
php中用文本文件做数据库的实现方法
Mar 27 PHP
php不用正则验证真假身份证
Nov 06 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
PHP滚动日志的代码实现
Jun 10 PHP
php动态绑定变量的用法
Jun 16 PHP
php简单实现数组分页的方法
Apr 30 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
cakephp常见知识点汇总
Feb 24 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP利用Mysql锁解决高并发的方法
Sep 04 PHP
PDO::exec讲解
Jan 28 PHP
PHP实现提取多维数组指定一列的方法总结
Dec 04 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
一个显示天气预报的程序
2006/10/09 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
原生js实现滑块区间组件
2021/01/20 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python创建文本文件的简单方法
2020/08/30 Python
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
《忆江南》教学反思
2014/04/07 职场文书
初中学生评语大全
2014/04/24 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
django 认证类配置实现
2021/11/11 Python
MySQL数据管理操作示例讲解
2022/12/24 MySQL