【发布时间】:2015-04-20 06:49:44
【问题描述】:
我有一个运行良好的函数,但我需要对其进行一些扩展,而且我不是程序员。
现在它可以很好地检测到ios,android和web都重定向到一个页面,web和android。
目标是,将 ios 重定向到第 1 页,将 android 重定向到第 2 页,将 web-os 重定向到第 3 页。
function find_mobile_browser() {
if(preg_match('/(iphone|ipad|ipod)/i', $_SERVER['HTTP_USER_AGENT'])) {
return true;
} else {
return false;
}
}
电话是这样的:
<?php $mobile_browser = find_mobile_browser();
if($mobile_browser) {
include("ios.php"); /* if mobile browser detected, do this */
} else {
include("android_and_web.php"); /* else do this */
}
?>
你能帮我扩展这个 sn-p 来检测它吗,这样调用就可以了:
<?php $mobile_browser = find_mobile_browser();
if($mobile_browser) {
include("ios.php"); /* if ios detected, do this */
} else {
include("android.php"); /* if android detected, do this */
}
} else {
include("web_os.php"); /* if web-os detected, do this */
}
?>
我认为这不是检测移动设备的完美方法,但有更好的方法吗?
谢谢, 奥威尔
在你的好答案之后,我会解释得更好。
“标题”答案对我很有用,但我不是程序员,所以我不能让它按我想要的方式工作。重定向效果很好,但我不需要重定向,我需要包含。我想在我的一些模板中包含依赖于 ios/android/web 的一些文本 sn-p(php 文件)。
该函数运行良好,但我的调用没有显示任何结果。在这里,我尝试调用该函数:
<?php
$mobile_browser = find_mobile_browser();
if($mobile_browser == 'ios')
{
include("ios.php");
}
elseif ($mobile_browser == 'android')
{
include("android.php");
}
else
{
/* if no mobile os detected, include "web.php" */
}
?>
希望我现在更清楚了,你不要难过。
提前致谢, 奥威尔
感谢您的精彩回答,-我现在明白了 :))
干杯, 奥威尔
【问题讨论】:
-
总之,include("web_os.php");自从双重 else 之后就不会被调用。
-
使用mobiledetect.net 并在我的答案中使用代码。
标签: php browser-detection