您好,欢迎访问一九零五行业门户网

php如何实现手机适配跳转页面

php实现手机跳转页面的方法:首先打开“header.php”文件;然后在顶部添加代码为“$agent = $_server['http_user_agent'];”;最后保存修改即可。
推荐:《php视频教程》
php网站手机适配跳转到相对应的页面
如果你有来自手机界面的访问者,你很可能需要将他们引导至一个不同的页面,一个特别为手机浏览器优化的界面。
1.在页面头部添加判断
通过php和浏览器头信息,我们可以轻松地实现将手机用户转向经过专门设计的wap界面。我恰好使用了wp-t-wap插件实现了界面的wap化,wap浏览的地址是http://mkaifa.com/wap。(你可以尝试浏览这个地址,它可以在电脑上被打开。真抱歉,我现在用的是mobilepress,没有演示了,mobilepress可以自动判断访问者的浏览器。)
我希望手机访客在打开http://mkaifa.com/地址时,自动导向http://mkaifa.com/wap。怎么办呢?
答案非常简单。
打开header.php文件。在第一行插入以下代码:
< ?php$agent = $_server['http_user_agent'];if(strpos($agent,"comfront") || strpos($agent,"iphone") || strpos($agent,"midp-2.0") || strpos($agent,"opera mini") || strpos($agent,"ucweb") || strpos($agent,"android") || strpos($agent,"windows ce") || strpos($agent,"symbianos"))header("location:http://mkaifa.com/wap");?>
这段代码的含义是,当浏览器返回的ua信息为opera mini、ucweb等内容时,将页面转向http://mkaifa.com/wap。
1.1 补充:增加手机浏览器的跳转提示
当你使用上面的方法设置跳转时,可能会遇到这种状况:手机访问者直接访问类似http://mkaifa.com/archive/xxx的子页面,而不是首页。这时,改判断语句仍然会执行命令,将手机访问者引导至手机界面的首页,使访客无法获取想要的信息。
怎么办呢?
你可以在这段语句之外再加入一个判断,只有在当前页面为首页时执行此命令。
在wordpress环境下这个判断的写法是
<?php if ( is_home() ) { ... }?>
那么全部的代码是:
<?php$agent = $_server['http_user_agent'];if ( is_home() && ((strpos($agent,"comfront") || strpos($agent,"iphone") || strpos($agent,"midp-2.0") || strpos($agent,"opera mini") || strpos($agent,"ucweb") || strpos($agent,"android") || strpos($agent,"windows ce") || strpos($agent,"symbianos")) )header("location:http://mkaifa.com/wap");}?>
这样我们又遇到一个问题:手机访问者在浏览子页面时,并不知道你提供了wap界面,而你恰恰又很希望推销的你的wap界面。
我们可以修改这个判断语句,让它不再直接跳转,而是在特定浏览器下显示提示信息,告诉手机用户可以转换至wap界面浏览。
代码写法如下:
<?php$agent = $_server['http_user_agent'];if(strpos($agent,"comfront") || strpos($agent,"iphone") || strpos($agent,"midp-2.0") || strpos($agent,"opera mini") || strpos($agent,"ucweb") || strpos($agent,"android") || strpos($agent,"windows ce") || strpos($agent,"symbianos")) { ?><div id="mobile"><p>系统检测到您正在使用手机浏览器,您可以访问<a href="http://mkaifa.com/wap">移动界面</a>以获取更好的浏览体验。</p></div><?php } ?>
当然了,你可以综合这两种方法,让手机访客在访问首页时自动跳转,而访问其他界面时显示提示信息。
2.需要足够的手机浏览器ua信息
当浏览器访问页面时,它会向服务器提交一个标志字符,这段字符被称作ua(user agent),他们看起来大概是这个样子:
mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0; mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1) )
是的,ua很长,甚至还包含了系统信息。但是当我们进行判断时,只需要核对最关键的字符。比如我需要判断当前用户是否使用了ie 8(我的确就是用的ie8),那么 在上面的判断语句中就应该写成strpos($agent,”msie 8.0″) 。
我准备了8种最常见的浏览器/平台分别是comfront、iphone、java(midp-2.0)、opera mini、ucweb、android、windows ce/mobile、symbianos。就目前的状况来说,这8种平台已经包含了国内几乎全部的手机访客,当然,完整的手机浏览客户端列表不止这么多,我罗列一些:
2.0 mmp, 240×320, 400x240, avantgo, blackberry, blazer, cellphone, danger, docomo, elaine/3.0 eudoraweb, googlebot-mobile, hiptop, iemobile, kyocera/wx310k, lg/u990, midp-2., mmef20, mot-v, comfront, newt, nintendo wii, nitro, // nintendo ds nokia, opera mini, palm, playstation portable, portalmmm, proxicom, proxicom, sharp-tq-gx10, shg-i900, small, sonyericsson, symbian os, symbianos, ts21i-10, up.browser, up.link, webos, // palm pre, etc. windows ce, winwap, yahooseeker/m1a1-r2d2
你可以根据这个列表添加或替换上面的php判断语句。但是我仍然推荐我已经选好的8种平台,因为目前会使用手机浏览互联网——特别是个人博客的用户,基本上都是高端玩家。
另外你可以写一个简单的页面,用来判断你的手机ua
<?phpecho $_server['http_user_agent']; ?>
保存为ua-test.php,上传至服务器,用你的手机访问这个页面。
以上就是php如何实现手机适配跳转页面的详细内容。
其它类似信息

推荐信息