|
|
@@ -14,7 +14,7 @@ function shutdownHandler()
|
|
|
} else {
|
|
|
$filename = REGISTER_SHUTDOWN_FUNCTION_LOG_FILENAME;
|
|
|
}
|
|
|
- if ($error['type']<3){
|
|
|
+ if ($error['type'] < 3) {
|
|
|
$message = '时间 : ' . date('Y-m-d H:i:s') . PHP_EOL;
|
|
|
$message .= '文件 : ' . $error['file'] . PHP_EOL;
|
|
|
$message .= '行数 : ' . $error['line'] . PHP_EOL;
|
|
|
@@ -26,22 +26,68 @@ function shutdownHandler()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * 获取当前语言环境
|
|
|
- *
|
|
|
- * @return string
|
|
|
- */
|
|
|
-function lang()
|
|
|
+function isMobile()
|
|
|
{
|
|
|
- static $global_lang;
|
|
|
- if ($global_lang !== null) {
|
|
|
- return $global_lang;
|
|
|
+ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
|
|
|
+ if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) {
|
|
|
+ return true;
|
|
|
}
|
|
|
- $global_lang = !empty($_REQUEST['global_lang']) ? $_REQUEST['global_lang'] : $_COOKIE['global_lang'];
|
|
|
- if (empty($global_lang) && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
|
|
|
- $global_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
|
|
|
- $global_lang = $global_lang == 'zh' ? $global_lang : "en";
|
|
|
- setcookie("global_lang", $global_lang, time() + 3600 * 24 * 30, '/');
|
|
|
+ // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
|
|
|
+ if (isset ($_SERVER['HTTP_VIA'])) {
|
|
|
+ // 找不到为flase,否则为true
|
|
|
+ return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
|
|
|
}
|
|
|
- return $global_lang;
|
|
|
+ // 脑残法,判断手机发送的客户端标志,兼容性有待提高
|
|
|
+ if (isset ($_SERVER['HTTP_USER_AGENT'])) {
|
|
|
+ $clientkeywords = array('nokia',
|
|
|
+ 'sony',
|
|
|
+ 'ericsson',
|
|
|
+ 'mot',
|
|
|
+ 'samsung',
|
|
|
+ 'htc',
|
|
|
+ 'sgh',
|
|
|
+ 'lg',
|
|
|
+ 'sharp',
|
|
|
+ 'sie-',
|
|
|
+ 'philips',
|
|
|
+ 'panasonic',
|
|
|
+ 'alcatel',
|
|
|
+ 'lenovo',
|
|
|
+ 'iphone',
|
|
|
+ 'ipod',
|
|
|
+ 'blackberry',
|
|
|
+ 'meizu',
|
|
|
+ 'android',
|
|
|
+ 'netfront',
|
|
|
+ 'symbian',
|
|
|
+ 'ucweb',
|
|
|
+ 'windowsce',
|
|
|
+ 'palm',
|
|
|
+ 'operamini',
|
|
|
+ 'operamobi',
|
|
|
+ 'openwave',
|
|
|
+ 'nexusone',
|
|
|
+ 'cldc',
|
|
|
+ 'midp',
|
|
|
+ 'wap',
|
|
|
+ 'mobile'
|
|
|
+ );
|
|
|
+ // 从HTTP_USER_AGENT中查找手机浏览器的关键字
|
|
|
+ if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 协议法,因为有可能不准确,放到最后判断
|
|
|
+ if (isset ($_SERVER['HTTP_ACCEPT'])) {
|
|
|
+ // 如果只支持wml并且不支持html那一定是移动设备
|
|
|
+ // 如果支持wml和html但是wml在html之前则是移动设备
|
|
|
+ if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
+if (isMobile()) {
|
|
|
+ header("location: /tao.php");
|
|
|
}
|