A-A+

判断ecshop来访用户是否来自手机

2015年10月22日 PHP开源系统 评论 1 条 阅读 151 views 次

今天提供的两段代码是用来判断用户是否来自手机客户端的,如果是则自动跳转到 mobile 手机站点,如果不是的话则会自动跳转到电脑客户端,所以说这段代码可以应用在任何的 PHP 程序中,只是一个判断的 PHP 语句而已,在之前夏日博客的文章中介绍过一个 JS 的手机电脑判断语句,这里主要就是两段 PHP 的语句了,因为今天要做一个 ecshop 手机客户端站点,需要 php 的跳转,下面就来分享一下。

第一种方法,代码如下:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

$uachar="/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|coolpad|ktouch|tcl|oppo|doov|amoi|bbk|cect|amoi|zte|huawei|iphone|ipad|android|smartphone)/i";

if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))

{

$Loaction = 'mobile/';

if (!empty($Loaction))
{
ecs_header("Location: $Loaction\n");
exit;
}

}

其中 $Loaction 是跳转的网址了,这里是根目录下的 mobile/ 文件,也就是手机站点了,这个可以自定义的。

第二种方法,代码如下:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){// 检查浏览器是否接受 WML.
$Loaction = 'mobile1/';
if (!empty($Loaction))
{
ecs_header("Location: $Loaction\n");
exit;
}
}
//$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|coolpad|k-touch|tcl|oppo|doov|amoi|bbk|cect|amoi|zte|huawei|iphone|ipad|android|smartphone)/i";
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|coolpad|k-touch|tcl|oppo|doov|amoi|bbk|cect|amoi|zte|huawei|iphone|ipad|android|smartphone|blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i";
if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))
{
$Loaction = 'mobile/';
if (!empty($Loaction))
{
ecs_header("Location: $Loaction\n");
exit;
}
}

第二种方法是第一种方法的改良版,很显然这里多了多种型号的手机,有一些老的手机还有一些国外的手机,想要全面的话就可以使用这一段代码了。

标签:

1 条留言  访客:1 条  博主:0 条

  1. 李明

    我的博客也添加跳转代码,真不错的。

给我留言