检测移动设备的脚本是什么?

时间:2010-08-12 10:38:59

标签: php html

我必须制作我的网站的2versions,即1个版本的手机和1个版本的PC。所以我有一个如下脚本: -

<?php 
if ( stristr($ua, "Windows CE") or stristr($ua, "AvantGo") or 
     stristr($ua,"Mazingo") or stristr($ua, "Mobile") or stristr($ua, "T68") or
     stristr($ua,"Syncalot") or stristr($ua, "Blazer") or 
     stristr($ua,"Mozilla") or stristr($ua,"Firefox") )
{
     $DEVICE_TYPE="MOBILE";
}
if (isset($DEVICE_TYPE) and $DEVICE_TYPE=="MOBILE") 
{
    $location='mobile/entry.html';
    header ('Location: '.$location);
    exit;
}
else
{ 
    $location='entry.html';
    header ('Location: '.$location);
    exit;
}
?>

此脚本适用于我的电脑,但如果我尝试从手机访问我的网站,则无法重定向到我想要的同一页面。

有人可以帮我解决这个问题吗?

先谢谢。

3 个答案:

答案 0 :(得分:1)

以下是您的解决方案:

http://code.google.com/p/php-mobile-detect2/

答案 1 :(得分:0)

答案 2 :(得分:0)

最佳选择不是尝试基于用户代理嗅探进行重定向,而是将您的移动内容放到特定网址上,并使这些选项可用。用户代理嗅探可以达到一定程度,但你不能100%依赖它。与此相关,PPK's post on javascript detection是很好的阅读。

也就是说,如果你没有做过用户代理重定向,你需要有一些方法来更新你的设备列表和用户代理字符串 - 比如codeigniter的user agent class从长远来看会更有用。