使用手机访问thinkphp时跳转到wap站点

嗯,这里是简介,主题配置内可以修改,如留空则不显示

使用手机访问thinkphp时跳转到wap站点

在前面做的一个项目中因为没有考虑到手机访问的问题,只能使用这样的方法,其实这个应该使用响应式布局来考虑的,只是现在再改之前的布局会工作量过大,可能还会造成雪崩效应,因此这样的方案是最可行的,在网上找到这个资料。(http://www.php100.com/html/php/lei/2013/0904/1699.html)如下:
  

代码中的函数 is_mobile来源于网上,写得挺好的。入口文件通过判断终端类型,定义APP_PATH和APP_NAME,从而执行不同的分组。我要实现的效果是PC和Mobile均用顶级域名访问。当然了,如果你想在手机里实现类似于wap.xxx.com这样的访问,本方法是做不到的,这是thinkphp多域名部署的问题,具体参见tp手册。
用thinkphp框架快速开发一个小型站点还是很方便的,正如本站。菜根网还做了一个手机端的网站,手机浏览器输入本站域名www.icaigen.com查看效果。

下面仅仅讲述在thinkphp的前端引导页面index.php文件中实现平台判断,从而加载不同的分组(或项目)。

 

 

<?php
// 判断是否属手机
function is_mobile()
{

	$user_agent = $_SERVER ['HTTP_USER_AGENT'];
	
	$mobile_agents = Array (
			"240x320",
			"acer",
			"acoon",
			"acs-",
			"abacho",
			"ahong",
			"airness",
			"alcatel",
			"amoi",
			"android",
			"anywhereyougo.com",
			"applewebkit/525",
			"applewebkit/532",
			"asus",
			"audio",
			"au-mic",
			"avantogo",
			"becker",
			"benq",
			"bilbo",
			"bird",
			"blackberry",
			"blazer",
			"bleu",
			"cdm-",
			"compal",
			"coolpad",
			"danger",
			"dbtel",
			"dopod",
			"elaine",
			"eric",
			"etouch",
			"fly ",
			"fly_",
			"fly-",
			"go.web",
			"goodaccess",
			"gradiente",
			"grundig",
			"haier",
			"hedy",
			"hitachi",
			"htc",
			"huawei",
			"hutchison",
			"inno",
			"ipad",
			"ipaq",
			"ipod",
			"jbrowser",
			"kddi",
			"kgt",
			"kwc",
			"lenovo",
			"lg ",
			"lg2",
			"lg3",
			"lg4",
			"lg5",
			"lg7",
			"lg8",
			"lg9",
			"lg-",
			"lge-",
			"lge9",
			"longcos",
			"maemo",
			"mercator",
			"meridian",
			"micromax",
			"midp",
			"mini",
			"mitsu",
			"mmm",
			"mmp",
			"mobi",
			"mot-",
			"moto",
			"nec-",
			"netfront",
			"newgen",
			"nexian",
			"nf-browser",
			"nintendo",
			"nitro",
			"nokia",
			"nook",
			"novarra",
			"obigo",
			"palm",
			"panasonic",
			"pantech",
			"philips",
			"phone",
			"pg-",
			"playstation",
			"pocket",
			"pt-",
			"qc-",
			"qtek",
			"rover",
			"sagem",
			"sama",
			"samu",
			"sanyo",
			"samsung",
			"sch-",
			"scooter",
			"sec-",
			"sendo",
			"sgh-",
			"sharp",
			"siemens",
			"sie-",
			"softbank",
			"sony",
			"spice",
			"sprint",
			"spv",
			"symbian",
			"tablet",
			"talkabout",
			"tcl-",
			"teleca",
			"telit",
			"tianyu",
			"tim-",
			"toshiba",
			"tsm",
			"up.browser",
			"utec",
			"utstar",
			"verykool",
			"virgin",
			"vk-",
			"voda",
			"voxtel",
			"vx",
			"wap",
			"wellco",
			"wig browser",
			"wii",
			"windows ce",
			"wireless",
			"xda",
			"xde",
			"zte" 
	);
	
	$is_mobile = false;
	foreach ( $mobile_agents as $device )
	{
		if (stristr ( $user_agent, $device ))
		{
			$is_mobile = true;
			break;
		}
	}
	return $is_mobile;

}

if (is_mobile ())
{ // 跳转至wap分组
	define ( 'APP_NAME', 'wap' );
	define ( 'APP_PATH', './wap/' );
} else
{
	define ( 'APP_NAME', 'home' );
	define ( 'APP_PATH', './home/' );
}
// define ( 'APP_PATH', './home/' );
// define ( 'APP_NAME', 'home' );

define ( 'APP_DEBUG', 1 );
define ( 'THINK_PATH', './ThinkPHP/' );
require THINK_PATH . 'ThinkPHP.php';

?>


 

 

定义好了入口文件,然后就可以在WAP分组(或项目)下开发手机版网站的代码了。因为是手机版网站,分辨率,图片压缩,网页大小等都是赤裸裸的问题。本人也才接触手机网站建设没几天,就不卖弄了。可以明确的是,PC端网站上非主要的功能在手机网站上都可以砍掉了,比如博客的热门文章,随机文章,评论列表,各种挂件等。

 

 


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Hello world. 豫ICP备16008819号-1.

Power by Z-BlogPHP  Theme by wzdaxue