您现在的位置是:首页 > 学无止境
用php来检测浏览器、webserver、服务类型
转载自:http://levi.cg.am/?p=3393
以下代码来自wordpress (/wp-include/vars.php):
// Simple browser detection
$is_lynx = $is_gecko = $is_winIE = $is_macIE = ...
以下代码来自wordpress (/wp-include/vars.php):
// Simple browser detection
$is_lynx = $is_gecko = $is_winIE = $is_macIE = ...
转载自:http://levi.cg.am/?p=3393
以下代码来自wordpress (/wp-include/vars.php):
// Simple browser detection $is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = $is_chrome = $is_iphone = false; if ( isset($_SERVER['HTTP_USER_AGENT']) ) { if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false ) { $is_lynx = true; } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false ) { if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) { $is_admin = is_admin(); /** * Filter whether Google Chrome Frame should be used, if available. * * @since 3.2.0 * * @param bool $is_admin Whether to use the Google Chrome Frame. Default is the value of is_admin(). */ if ( $is_chrome = apply_filters( 'use_google_chrome_frame', $is_admin ) ) header( 'X-UA-Compatible: chrome=1' ); $is_winIE = ! $is_chrome; } else { $is_chrome = true; } } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false ) { $is_safari = true; } elseif ( ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false ) && strpos($_SERVER['HTTP_USER_AGENT'], 'Win') !== false ) { $is_winIE = true; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false ) { $is_macIE = true; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false ) { $is_gecko = true; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false ) { $is_opera = true; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Nav') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.') !== false ) { $is_NS4 = true; } } if ( $is_safari && stripos($_SERVER['HTTP_USER_AGENT'], 'mobile') !== false ) $is_iphone = true; $is_IE = ( $is_macIE || $is_winIE ); // Server detection /** * Whether the server software is Apache or something else * @global bool $is_apache */ $is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false); /** * Whether the server software is Nginx or something else * @global bool $is_nginx */ $is_nginx = (strpos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false); /** * Whether the server software is IIS or something else * @global bool $is_IIS */ $is_IIS = !$is_apache && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'ExpressionDevServer') !== false); /** * Whether the server software is IIS 7.X or greater * @global bool $is_iis7 */ $is_iis7 = $is_IIS && intval( substr( $_SERVER['SERVER_SOFTWARE'], strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/' ) + 14 ) ) >= 7; /** * Test if the current browser runs on a mobile device (smart phone, tablet, etc.) * * @return bool true|false */ function wp_is_mobile() { static $is_mobile; if ( isset($is_mobile) ) return $is_mobile; if ( empty($_SERVER['HTTP_USER_AGENT']) ) { $is_mobile = false; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.) || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) { $is_mobile = true; } else { $is_mobile = false; } return $is_mobile; }
判断php运行环境的函数php_sapi_name()
我们要是想知道我们目前运行的环境是什么的话,那我们可以用函数php_sapi_name()来测试,官方说册有提到这个函数:http://www.php.net/manual/zh/function.php-sapi-name.phpecho
php_sapi_name();
- 在apache环境下面输出的结果是“apache2handler”;
- 在nginx环境下输入的结果是“fpm-fcgi”;
- 在cgi模式下输出的结果是“cgi-fcgi”;
- 要是在命令行模式下面运行的话,那么输出的结果是:”cli”
上一篇:结合MongoDB开发LBS应用
下一篇:如何安全的Include文件
文章评论
- 登录后评论
点击排行
-
php-fpm安装、配置与优化
转载自:https://www.zybuluo.com/phper/note/89081 1、php中...
-
centos下postgresql的安装与配置
一、安装(以root身份进行)1、检出最新的postgresql的yum配置从ht...
-
Mysql的大小写敏感性
MYSQL在默认的情况下查询是不区分大小写的,例如:CREATE TABLE...
-
关于URL编码
转载自:http://www.ruanyifeng.com/blog/2010/02/url_encoding....
-
header中的Cache-control
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的...