使用PHP/Javascript重定向移动设备的单个php页面的最佳方法

Roc*_*aco 13 javascript php

我有一个PHP谷歌地图应用程序,我想让用户在使用桌面时可见,但如果访问者使用的是移动设备,则会重定向到另一个PHP页面.我知道从操作系统到浏览器类型检测有很多方法可以做到这一点,但是想知道是否有人可以提供一些代码,他们觉得这是处理这个问题的最佳方法,而且它是最一致的?

jan*_*267 23

如果你不想使用javascript,你可以通过php处理它.看一下这个库:http://code.google.com/p/php-mobile-detect/.然后你可以做类似的事情:

<?php
include 'Mobile_Detect.php';
$detect = new Mobile_Detect();

if ($detect->isMobile()) {
    header('Location: yourpage.php');
    exit(0);
}
Run Code Online (Sandbox Code Playgroud)


fed*_*ich 6

免责声明:我知道这个正则表达式并不完美,所以不要只为此投票:)

只是想分享这几点.

  1. 有些服务器没有设置$ _SERVER ['HTTP_USER_AGENT'],所以一定要检查是否为空
  2. 可读性对我们很重要,因此我们使用它而不是其他复杂的正则表达式.只需添加其他设备即可.

这是我们使用的代码:

<?php
if(! empty($_SERVER['HTTP_USER_AGENT'])){
    $useragent = $_SERVER['HTTP_USER_AGENT'];
    if( preg_match('@(iPad|iPod|iPhone|Android|BlackBerry|SymbianOS|SCH-M\d+|Opera Mini|Windows CE|Nokia|SonyEricsson|webOS|PalmOS)@', $useragent) ){
        header('Location: ./mobile/');
    }
}
?>
Run Code Online (Sandbox Code Playgroud)