php实现手机站自动跳转 ,意思是说,用手机访问PC站,会自动跳转到对应的wap站点。

要实现这个功能,我们要三步走。

第一步,判断访问的终端是否为手机,代码如下

/**

*

* 根据php的$_SERVER['HTTP_USER_AGENT'] 中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端

*移动端,返回true

*程序员人生 wfuyu.com 2016-0317

*/

function checkmobile() {

global $_G;

$mobile = array();

//各个触控浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组

static $touchbrowser_list =array('iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',

'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',

'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',

'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',

'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',

'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',

'benq', 'haier', '^lct', '320x320', '240x320', '176x220');

//window手机浏览器数组【猜的】

static $mobilebrowser_list =array('windows phone');

//wap浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组

static $wmlbrowser_list = array('cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom',

'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh',

'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte');

$pad_list = array('pad', 'gt-p1000');

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

if(dstrpos($useragent, $pad_list)) {

return false;

}

if(($v = dstrpos($useragent, $mobilebrowser_list, true))){

$_G['mobile'] = $v;

return '1';

}

if(($v = dstrpos($useragent, $touchbrowser_list, true))){

$_G['mobile'] = $v;

return '2';

}

if(($v = dstrpos($useragent, $wmlbrowser_list))) {

$_G['mobile'] = $v;

return '3'; //wml版

}

$brower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop');

if(dstrpos($useragent, $brower)) return false;

$_G['mobile'] = 'unknown';

//对于未知类型的浏览器,通过$_GET['mobile']参数来决定是否是手机浏览器

if(isset($_G['mobiletpl'][$_GET['mobile']])) {

return true;

} else {

return false;

}

}

/**

* 判断$arr中元素字符串是否有出现在$string中

* @param $string $_SERVER['HTTP_USER_AGENT']

* @param $arr 各中浏览器$_SERVER['HTTP_USER_AGENT']中必定会包含的字符串

* @param $returnvalue 返回浏览器名称还是返回布尔值,true为返回浏览器名称,false为返回布尔值【默认】

* @程序员人生 wfuyu.com 2016-0317

*/

function dstrpos($string, $arr, $returnvalue = false) {

if(empty($string)) return false;

foreach((array)$arr as $v) {

if(strpos($string, $v) !== false) {

$return = $returnvalue ? $v : true;

return $return;

}

}

return false;

}

第二步,在手机端使用代码跳转,代码如下

function wappc($ac='towap'){

$is_wap=checkmobile();

if($is_wap){

//手机端

if($_SERVER['HTTP_HOST']=='www.wfuyu.com' && $_GET['b']!='topc'){

$url='http://m.wfuyu.com'.$_SERVER['REQUEST_URI'];

header('Location: '.$url);

}

}else{

//PC端

}

这里有个注意的地方,我这个方法,必须手机端url和电脑端同步,例如电脑端地址是www.xxx.com/123.com,那么对应的手机端应该是m.xxx.com/123.com

第三步:在手机端head前面调用步骤2中的代码

这里做个说明,我们经常看到,有的手机网站,首页会显示 电脑端的链接,此时点击电脑端,不会再跳到手机端,这里就要做个相应的处理,例如我们用在链接后面加个get标签 b=topc,然后在第二步函数中进行判断过滤即可!

php手机站自动跳转,php实现手机站自动跳转相关推荐

  1. 手机android进程管理,手机进程管理app_华为手机进程管理_手机自动进程管理软件-多特软件站安卓网...

    手机进程管理软件是一款手机进程管理方法app,根据手机进程管理软件你能便捷的控制自己的手机进程,针对有必须的盆友而言非常好. 功能介绍 简约实用的android每日任务停止专用工具.你是不是感觉运作的 ...

  2. .NET 5开源项目:b站账号快速升级到 Lv6,每天自动签到,观看,分享,投币视频!...

    推荐一个神奇的开源项目:BiliBiliTool https://github.com/RayWangQvQ/BiliBiliTool .Net 5 编写的B站(哔哩哔哩)任务工具,通过GitHub ...

  3. 一键分享手机代码_通过广告路由器指定手机浏览器自动认证WIFI上网 附代码

    说说应用过程,下面用手机QQ浏览器为例.在路由器搭建免费WIFI,用户连接免费WIFI后,使用手机QQ浏览器点击打开任意网页即可自动通过认证并上网,有的手机会自动打开认证网页,如果使用其他手机浏览器则 ...

  4. python控制苹果手机触摸屏失灵怎么办_iPhone手机触屏不灵敏怎么办 触屏失灵乱跳等问题解决方法大全必看...

    目前有很多的用户都正在使用苹果iphone iPhone触屏不灵敏怎么办 解决方法一. 解决方法二. 苹果手机触摸屏不灵敏的解决方法二是,强制重启:同时按住iPhone的电源和Home键并保持几秒钟, ...

  5. php站群跳转系统,DiY-Page php 站群系统下载|DiY-Page php 站群系统官方下载-太平洋下载中心...

    DiY-Page php 站群系统是Php源码频道下深受用户喜爱的软件,太平洋下载中心提供DiY-Page php 站群系统官方下载.DIY-Page网站构建系统(软着登字2006SR00158)创始 ...

  6. python设计游戏使用手机操作_如何使用python控制手机(以微信游戏跳一跳为例)

    打开手机的开发者选项,本人小米手机,系统android 7.0(miui 9.1),设置->我的设备->全部参数(点击miui版本5次,即可开启开发者模式) 设置->更多设置(倒数第 ...

  7. 利用AirTest实现自动安装APK-跳过vivo手机安装验证

    利用AirTest实现自动安装APK-跳过vivo手机安装验证 前言 最近在帮测试组看个问题,他们在自动化测试的时候,通过adb install 命令在vivo手机上安装apk的时候出现"外 ...

  8. 织梦火车头采集文章定时自动审核文章及更新文章后自动推送百度(站群排名必备)

    织梦火车头采集文章定时自动审核文章及更新文章后自动推送百度(站群排名必备) 1.从0点到23点可以设置若干时间段,在这些时间段内,每天自动审核和自动生成指定篇数的未审核文章. 2.自动更新网站首页和需 ...

  9. 华为手机媒体音量自动静音_华为手机还能自动清理垃圾,怪不得手机越用越流畅,学到了...

    华为手机还能自动清理垃圾,难怪手机越用越流畅,学到了 很多人,都会定时给自己的手机清理内存,以确保手机流畅度. 但是手动清理有时候不能很到位,就容易收到内存不足消息提醒. 那怎么办呢?如果你用的是华为 ...

  10. 手机长时间不用自动断网_WiFi动不动就自动断网?都怪手机的默认设置!点这里一键修改...

    这几天学霸君一直在家玩手机,但是却经常觉得这个网好像有点不对劲. 有时候嘛,他还挺流畅的,玩几个小时游戏都不会爆延迟. 有时候嘛,刷个某音都会忽然载入不了卡在那里,让我搞不清楚这是 WiFi 的问题还 ...

最新文章

  1. 安装、设置与启动MySql5.1.30绿色版的方法
  2. win2003服务器定时自动重启命令[计划任务]
  3. [云炬Python学习笔记] Python读取指定文件夹下的文件
  4. ITK:图像的区域最大值
  5. dmtracedump
  6. C# 9.0 新特性之 Lambda 弃元参数
  7. Android背景色渐变效果(shape,gradient) (转)
  8. eclipse+spket+Extjs4.2.1开发环境搭建
  9. Java 并发编程CyclicBarrier的应用与源码解析(基于ReentrantLock实现)
  10. Win10桌面整理小体会
  11. 计算机网络技术实训 实训总结,计算机网络技术实训报告总结.docx
  12. 物联网应用技术和计算机应用技术,物联网应用技术专业介绍
  13. python保存简单网页图片到本地(详细步骤)
  14. 为什么打印还要另存为_为什么打印图片时出现文件另存为
  15. 3D建模游戏动漫模型制作软件都有哪些?最全解析,工具免费领
  16. matlab 7y30,屏幕及音响表现出众_华硕 灵焕3(M3 7Y30/8GB/256GB)_笔记本评测-中关村在线...
  17. 文件批量搜索器:根据文件名清单查找文件夹内文件移动复制保存
  18. 序列模型第二周作业1:Operations on word vectors
  19. 同事离职做假证,顺利拿到大公司offer,15k一下子到了24k
  20. 复工后,企业裁员、降薪前必须了解的10个法律问题

热门文章

  1. 写一个宏,可以将一个整数字的奇数位和偶数位交换
  2. Nginx 内存池似懂非懂?一文带你看清高性能服务器内存池
  3. Vue开发实战十六:自定义弹框页面
  4. Connection timed out
  5. 面试中常被问到的(24)网络分层及协议
  6. 如何听微信公众号的文章
  7. 树莓派3B + Pi摄像头(Raspberry Pi)配置流程
  8. 无效库(可能不是php库),ThinkPHP设置了数据库session,写入无效的问题
  9. 9与4日晚,冒雨参加3W咖啡的APP广告-流量变现活动
  10. android系统应用s8,三星S8的预装软件终于可以卸载了