首先一段php代碼判斷是否爲手機瀏覽:php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
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;
}
|
phpcms 模板文件中建立兩個模板:css
其中 content中的文件是PC端模板,content_m中的文件是手機端模板。html
其次在pgpcms中 編輯 phpcms/modules/content/index.phpandroid
講以上php代碼 放到index的class類中。web
找到全部的:數據庫
1
|
include
template(
'content'
,
$template
);
|
替換爲:windows
1
2
3
4
|
if
(
$this
->isMobile()){
include
template(
'content_m'
,
$template
);
}
else
{
include
template(
'content'
,
$template
);
|
最後將:瀏覽器
1
|
include
template(
'content'
,
'index'
,
$default_style
);
|
替換爲:iphone
1
2
3
4
5
|
if
(
$this
->isMobile()){
include
template(
'content_m'
,
'index'
,
$default_style
);
}
else
{
include
template(
'content'
,
'index'
,
$default_style
);
}
|
到如今爲止基本上就設置好了當運行phpcms中的index.php文件是,會根據是否爲手機端調用不一樣的模板,實現了手機端和PC端數據庫的同步。this