很多站长朋友们都不太清楚php识别设备跳转,今天小编就来给大家整理php识别设备跳转,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎样识别手机和电脑访问分别跳转到不同的页面 2、 通过php判断跳转 3、 PHP如何把手机用户跳转到手机版网页 4、 php判断手机电脑并且进行跳转 5、 怎么让网站自动识别设备,自动跳转wap页面 6、 php判断IP跳转页面 php怎样识别手机和电脑访问分别跳转到不同的页面//为true?时就是手机访问?否则为PC
function?isMobile(){?
????//?如果有HTTP_X_WAP_PROFILE则一定是移动设备
????if?(isset?($_SERVER['HTTP_X_WAP_PROFILE']))
????????return?true;
????//?如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
????if?(isset?($_SERVER['HTTP_VIA']))?{
????????//?找不到为flase,否则为true
????????return?stristr($_SERVER['HTTP_VIA'],?"wap")???true?:?false;
????}
????//?脑残法,判断手机发送的客户端标志,兼容性有待提高
????if?(isset?($_SERVER['HTTP_USER_AGENT']))?{
????????$clientkeywords?=?array?('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile');
????????//?从HTTP_USER_AGENT中查找手机浏览器的关键字
????????if?(preg_match("/("?.?implode('|',?$clientkeywords)?.?")/i",?strtolower($_SERVER['HTTP_USER_AGENT'])))
????????????return?true;
????}
????//?协议法,因为有可能不准确,放到最后判断
????if?(isset?($_SERVER['HTTP_ACCEPT']))?{
????????//?如果只支持wml并且不支持html那一定是移动设备
????????//?如果支持wml和html但是wml在html之前则是移动设备
????????if?((strpos($_SERVER['HTTP_ACCEPT'],?'vnd.wap.wml')?!==?false)??(strpos($_SERVER['HTTP_ACCEPT'],?'text/html')?===?false?||?(strpos($_SERVER['HTTP_ACCEPT'],?'vnd.wap.wml')?<?strpos($_SERVER['HTTP_ACCEPT'],?'text/html'))))?{
????????????return?true;
????????}
????}
????return?false;
}
通过php判断跳转html文件:
<form action="jump.php" method="post">
<input type="text" name="url">
<input type="submit" value="提交">
</form>
jump.php文件
<?php
/*注:php.ini文件要开启allow_url_fopen即allow_url_fopen=on*/
$fp=@fopen($_POST['url'],'r');
if($fp){
header('Location:jump1.html');
}else{
header('Location:jump2.html');
}
?>
PHP如何把手机用户跳转到手机版网页方式一:使用JavaScript
<script?type="text/javascript">
//设定Mobile的定义(全小写)
var?mobileAgent?=?new?Array("iphone",?"ipod",?"ipad",?"android",?"mobile",?"blackberry",?"webos",?"incognito",?"webmate",?"bada",?"nokia",?"lg",?"ucweb",?"skyfire");
//读取用户的浏览器资料
var?browser?=?navigator.userAgent.toLowerCase();
var?isMobile?=?false;
?
//检查开始
for?(var?i=0;?i<mobileAgent.length;?i++){
????if?(browser.indexOf(mobileAgent[i])!=-1){
????????isMobile?=?true;
????????//alert(mobileAgent[i]);
????????//程式码(转址)
????????location.href?=?'';
????????//停止运行回圈
????????break;
????}
}
</script>
方式二:使用PHP
<?php
//设定Mobile的定义
$mobileAgent?=?array("iphone",?"ipod",?"ipad",?"android",?"mobile",?"blackberry",?"webos",?"incognito",?"webmate",?"bada",?"nokia",?"lg",?"ucweb",?"skyfire");
//读取用户的浏览器资料
$browser?=?$_SERVER['HTTP_USER_AGENT'];
$isMobile?=?false;
?
//检查开始
foreach($mobileAgent?as?$search){
????if(stristr($browser,$search)!=false){
????????$isMobile?=?true;
????????//echo?$search;
????????//程式码(转址)
????????header("Location:?");
????????//停止运行程序
????????exit;
????}
}
?>
php判断手机电脑并且进行跳转<?
$wap="手机地址";
$pc="pc地址";
ww($wap,$pc);
function ww($wap,$pc){
if(preg_match('/(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', $_SERVER['HTTP_USER_AGENT'])){header("Location: $wap");
exit;
}else{header("Location: $pc");
exit;}
}
?>
怎么让网站自动识别设备,自动跳转wap页面自动识别跳转,主要有以下几种方法可以尝试:
1、在网站head标签里加跳转语句
要实现网站根据访问设备自动识别展示手机站或PC站这个功能,需要以下几个步骤:
(1)、你得有一个PC端,在电脑上访问的官方网站,比如:。
(2)、你需要重新制作一个移动端的手机网站,比如:m.baidu测试数据。
(3)、在PC端的网站上加上一段代码,每个页面都需要加上,放在PC端网站head标签里面,代码如下:
//平台、设备和操作系统
var system = {
win: false,
mac: false,
xll: false
};
//检测平台
var p = navigator.platform;
system.win = p.indexOf(“Win”) == 0;
system.mac = p.indexOf(“Mac”) == 0;
system.x11 = (p == “X11″) || (p.indexOf(“Linux”) == 0);
//跳转语句
if (!(system.win || system.mac || system.xll)) {//转向电脑界面
window.location.href = “”;
}
(4)、进入域名解析系统,做一个别名cname解析,比如:你手机网站制作公司给的地址123.域名测试数据解析到m.baidu测试数据域名解析系统。
2、根据移动终端和浏览器版本信息判定的语法
还有一些站长或SEO可能会考虑到移动终端的版本和浏览器版本信息,对此,肥猫科技也为大家整理了一段比较有效的代码,如下所示:
<script type="text/javascript">
var browser={
? versions:function(){
? ? ? ? ?var u = navigator.userAgent, app = navigator.appVersion;
? ? ? ? ?return {//移动终端浏览器版本信息
? ? ? ? ? ? ? trident: u.indexOf('Trident') > -1, //IE内核
? ? ? ? ? ? ? presto: u.indexOf('Presto') > -1, //opera内核
? ? ? ? ? ? ? webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
? ? ? ? ? ? ? gecko: u.indexOf('Gecko') > -1 u.indexOf('KHTML') == -1, //火狐内核
? ? ? ? ? ? ? mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
? ? ? ? ? ? ? ios: !!u.match(/i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
? ? ? ? ? ? ? android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
? ? ? ? ? ? ? iPhone: u.indexOf('iPhone') > -1 || (u.indexOf('Mac') > -1 u.indexOf('Macintosh') < 0), //是否为iPhone或者QQHD浏览器
? ? ? ? ? ? ? iPad: u.indexOf('iPad') > -1, //是否iPad
? ? ? ? ? ? ? webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
? ? ? ? ? };
? ? ? ?}(),
? ? ? ?language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.ios||browser.versions.android||browser.versions.iPhone||browser.versions.iPad) {
self.location=;
}
</script>
3、自动识别手机页面、iPad页面和wap页面
可以根据不同的终端类型适当的改变正则表达式,这段代码添加到需要识别的网页,会根据客户端的类型自动跳转到手机页、平板页或其他移动设备页面,非常的灵活!
<script type="text/javascript">
if(/AppleWebKit.*mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
? if(window.location.href.indexOf("?mobile")<0){
? ? ? try{
? ? ? ? ? if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
? ? ? ? ? ? ? window.location.href="";
? ? ? ? ? }else if(/iPad/i.test(navigator.userAgent)){
? ? ? ? ? ? ? window.location.href="";
? ? ? ? ? }else{
? ? ? ? ? ? ? window.location.href=""
? ? ? ? ? }
? ? ? }catch(e){}
? }
}
</script>
4、使用PHP语言来识别
对于一些精通PHP语言的博友来说,也可以通过PHP语法来实现,比如以下的写法:
//设定Mobile的定义
$mobileAgent = array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");
//读取用户的浏览器资料
$browser = $_SERVER['HTTP_USER_AGENT'];
$isMobile = false;
//检查开始
foreach($mobileAgent as $search){
? if(stristr($browser,$search)!=false){
? ? ? $isMobile = true;
? ? ? //echo $search;
? ? ? //程式码(转址)
? ? ? header("Location: ");
? ? ? //停止运行程序
? ? ? exit;
? }
}
?>
5、做个自动识别的效果
经过多次测试,我们也可以做个自动识别的效果,方法很简单,在你需要自动跳转的页面加入以下代码:
<script type="text/javascript">
var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");
var browser = navigator.userAgent.toLowerCase();
var isMobile = false;
for (var i=0; i<mobileAgent.length; i++){ if (browser.indexOf(mobileAgent[i])!=-1){ isMobile = true;
//alert(mobileAgent[i]);
location.href = '';
break; } }
</script>
6、自动识别移动端适配跳转网址的代码
手机版的网站需要简单,以文字为主,才能很好的兼容,可以在网站的首页设置一个程序来判断用户是手机端还是电脑,如果是手机端,直接中转到手机端,如果是电脑端,直接中转到电脑端(大家也可以使用百度提高的百度移动搜索开放适配服务。
对此,大家可以在网站的首页插入入下代码:
<script type="text/javascript">
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
if (!(bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) ){
window.location.href=B页面;
}
}
browserRedirect();
</script>
<script type="text/javascript">uaredirect("<A href='","");","");
</script>
在肥猫科技看来,PC版网页自动识别手机客户端并跳转,用js进行判断是否手机客户端进行跳转最好,特别是静态网页,把这个过程通过js的方式放在用户客户端执行,可以大大减少服务器端额外处理的压力,但是有时需要通过在服务器端进行判断的情况除外。
php判断IP跳转页面代码如下,将所有IP转换为整数再比较:
<?php
$ip_from?=?ip2long('192.168.0.0');?#?起始IP
$ip_to?=?ip2long('192.168.0.255');?#?终止IP
$client_ip?=?ip2long($_SERVER['REMOTE_ADDR']);?#?客户端IP
if?($ip_from?<?$client_ip?and?$client_ip?>?$ip_to)?{
????header('Location:?...');
}
关于php识别设备跳转的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php识别设备跳转 php登录跳转的详细内容...