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

2014-03-31 16:11:37 +08:00
 mikemikemike
如题,各位GGMM求帮助,头痛,,,,偏头痛。
4177 次点击
所在节点    程序员
17 条回复
yakczh
2014-03-31 16:20:05 +08:00
检测ua,如果是手机,换个模板不就完了吗,这有什么头疼的?
SLG
2014-03-31 16:26:37 +08:00
css做好responsive就好了, 实在不做也没关系, 拿baidu w调用.

其实做单纯wap页面这需求纯粹白瞎, 这年头哪有人会用只支持wap的手机上网的, 10年前还差不多.
010blue
2014-03-31 16:30:03 +08:00
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-03-31 16:50:25 +08:00
数据库最全,检测最完美的方法:
https://github.com/garetjax/phpbrowscap
lijinma
2014-03-31 17:14:28 +08:00
建议你使用responsive的方式,不要单做wap
mikemikemike
2014-03-31 17:35:55 +08:00
@010blue 使用的是一个老的框架站点,symfony 1.4,需要维护使用,这个怎么办。查了一下这相关的资料很少。重新开发成本又高。
iamjs
2014-03-31 17:36:28 +08:00
11
2014-03-31 17:37:41 +08:00
mikemikemike
2014-03-31 17:45:34 +08:00
@iamjs 嗯,检测到之后怎么转wap呢?
mikemikemike
2014-03-31 17:53:00 +08:00
@SLG @yakczh @lijinma 求助,看是否有相关建议:
使用的是一个老的框架站点,symfony 1.4,需要维护使用,这个怎么办。查了一下这相关的资料很少。重新开发成本又高。
lincanbin
2014-03-31 17:56:06 +08:00
@mikemikemike 如果是MVC,那么只要根据UA修改View的路径即可。
mikemikemike
2014-03-31 18:41:10 +08:00
@lincanbin 有没有联系方式呢?加一下Q29590764
huangzxx
2014-04-01 17:18:04 +08:00
oott123
2014-04-02 08:40:30 +08:00
我估计楼主是想要一个 php 智能将 web 页面转换为 wap 输出的玩意。
目前来说可能性不大,或者说效果不好。
你得重新开发一套 wap 的模板。
dong3580
2014-04-02 09:35:01 +08:00
@mikemikemike
例如自己的地址: localhost:80/test/www/index.html
检测到就跳到:localhost:80/test/wap/index.html
不就OK了.
iamjs
2014-04-02 10:03:32 +08:00
@mikemikemike 最好的方式是载入不同模版
也可以跳转到不同网址。
更可以使用响应式布局做网站。。比如我的 http://www.benhouzi.com 用bootstrap做前端。基本再用 css3区别屏幕宽度,来做一些 display:none 在小屏幕上隐藏掉一些内容。来保证内容完整
MaiCong
2014-04-02 10:19:24 +08:00
可以用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