php 怎么将已有的 web,先判断设备是否是手机,是则将 web 转成 wap 呢

2014 年 3 月 31 日
 mikemikemike
如题,各位GGMM求帮助,头痛,,,,偏头痛。
4953 次点击
所在节点    程序员
17 条回复
yakczh
2014 年 3 月 31 日
检测ua,如果是手机,换个模板不就完了吗,这有什么头疼的?
SLG
2014 年 3 月 31 日
css做好responsive就好了, 实在不做也没关系, 拿baidu w调用.

其实做单纯wap页面这需求纯粹白瞎, 这年头哪有人会用只支持wap的手机上网的, 10年前还差不多.
010blue
2014 年 3 月 31 日
css做responsive或根据UserAgent进行判断是否为手机,可以参考下wordpress的做法:
function wp_is_mobile() {
static $is_mobile;

if ( isset($is_mobile) )
return $is_mobile;

if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
$is_mobile = false;
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
$is_mobile = true;
} else {
$is_mobile = false;
}

return $is_mobile;
}
vibbow
2014 年 3 月 31 日
数据库最全,检测最完美的方法:
https://github.com/garetjax/phpbrowscap
lijinma
2014 年 3 月 31 日
建议你使用responsive的方式,不要单做wap
mikemikemike
2014 年 3 月 31 日
@010blue 使用的是一个老的框架站点,symfony 1.4,需要维护使用,这个怎么办。查了一下这相关的资料很少。重新开发成本又高。
iamjs
2014 年 3 月 31 日
11
2014 年 3 月 31 日
mikemikemike
2014 年 3 月 31 日
@iamjs 嗯,检测到之后怎么转wap呢?
mikemikemike
2014 年 3 月 31 日
@SLG @yakczh @lijinma 求助,看是否有相关建议:
使用的是一个老的框架站点,symfony 1.4,需要维护使用,这个怎么办。查了一下这相关的资料很少。重新开发成本又高。
lincanbin
2014 年 3 月 31 日
@mikemikemike 如果是MVC,那么只要根据UA修改View的路径即可。
mikemikemike
2014 年 3 月 31 日
@lincanbin 有没有联系方式呢?加一下Q29590764
huangzxx
2014 年 4 月 1 日
oott123
2014 年 4 月 2 日
我估计楼主是想要一个 php 智能将 web 页面转换为 wap 输出的玩意。
目前来说可能性不大,或者说效果不好。
你得重新开发一套 wap 的模板。
dong3580
2014 年 4 月 2 日
@mikemikemike
例如自己的地址: localhost:80/test/www/index.html
检测到就跳到:localhost:80/test/wap/index.html
不就OK了.
iamjs
2014 年 4 月 2 日
@mikemikemike 最好的方式是载入不同模版
也可以跳转到不同网址。
更可以使用响应式布局做网站。。比如我的 http://www.benhouzi.com 用bootstrap做前端。基本再用 css3区别屏幕宽度,来做一些 display:none 在小屏幕上隐藏掉一些内容。来保证内容完整
MaiCong
2014 年 4 月 2 日
可以用css做响应式布局(@media screen),或者用php判断UA,套用另一个模版

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/106646

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX