如何确定设备是移动设备还是桌面设备?
How to determine if the device is Mobile or Desktop?
我阅读了很多文章并寻找检测移动设备的解决方案。实际上遇到了 https://github.com/serbanghita/mobile-detect 但它是一个相当大的 php class.
其实我想要一个非常简单的解决方案。我想确定用户的浏览器是 Mobile/iPad/etc 还是桌面。所以我想要这样的东西:
<?php
require('detector.php');
if(isMobile() === true)
{
header('mobile.php');
exit();
}
else
{
header('desktop.php');
exit();
}
?>
需要一个非常简单的解决方案,我可以在不安装 Composer 或任何 php 框架的情况下将其放置到任何页面。
这怎么可能?
你真的尝试过使用你发现的项目吗?我想说服务器端移动检测是一项艰巨的任务,需要进行大量的细节检查以确保正确的结果。
使用这个 class 非常简单。来自示例目录:
require_once '../Mobile_Detect.php';
$detect = new Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
现在您有一个具有以下三个值之一的变量:"tablet"、"phone" 或 "computer",您可以对此做出反应。
请注意,即使您可以在没有 Composer 的情况下使用此库,它也会定期更新(如 "once every month"),因为新设备上市并需要检测。您将不得不在某个时候更新此库。使用 Composer 让这一切变得非常简单。
如果您真的不想将 class 包含到您的代码中,Mozilla indicates that it is "good enough" to search for the string "mobi" in the user agent。
<?php
if (stristr($_SERVER['HTTP_USER_AGENT'],'mobi')!==FALSE) {
echo 'mobile device detected';
}
?>
您可以使用
重定向 link
在控制器中,您可以使用
检查
$keybord = app::get('keyboard')
if($keyboard == mobile ){
redirect ('mobile');
}else{
redirect ('desktop');
}
我发现这条简单的线路非常可靠且易于实施.. 无需添加额外的线路 class。
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'android')) {
echo "running on mobile";
}
我阅读了很多文章并寻找检测移动设备的解决方案。实际上遇到了 https://github.com/serbanghita/mobile-detect 但它是一个相当大的 php class.
其实我想要一个非常简单的解决方案。我想确定用户的浏览器是 Mobile/iPad/etc 还是桌面。所以我想要这样的东西:
<?php
require('detector.php');
if(isMobile() === true)
{
header('mobile.php');
exit();
}
else
{
header('desktop.php');
exit();
}
?>
需要一个非常简单的解决方案,我可以在不安装 Composer 或任何 php 框架的情况下将其放置到任何页面。
这怎么可能?
你真的尝试过使用你发现的项目吗?我想说服务器端移动检测是一项艰巨的任务,需要进行大量的细节检查以确保正确的结果。
使用这个 class 非常简单。来自示例目录:
require_once '../Mobile_Detect.php';
$detect = new Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
现在您有一个具有以下三个值之一的变量:"tablet"、"phone" 或 "computer",您可以对此做出反应。
请注意,即使您可以在没有 Composer 的情况下使用此库,它也会定期更新(如 "once every month"),因为新设备上市并需要检测。您将不得不在某个时候更新此库。使用 Composer 让这一切变得非常简单。
如果您真的不想将 class 包含到您的代码中,Mozilla indicates that it is "good enough" to search for the string "mobi" in the user agent。
<?php
if (stristr($_SERVER['HTTP_USER_AGENT'],'mobi')!==FALSE) {
echo 'mobile device detected';
}
?>
您可以使用
重定向 link
在控制器中,您可以使用
$keybord = app::get('keyboard')
if($keyboard == mobile ){
redirect ('mobile');
}else{
redirect ('desktop');
}
我发现这条简单的线路非常可靠且易于实施.. 无需添加额外的线路 class。
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'android')) {
echo "running on mobile";
}