• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mikemikemike
V2EX  ›  程序员

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

  •  
  •   mikemikemike · Mar 31, 2014 · 4953 views
    This topic created in 4426 days ago, the information mentioned may be changed or developed.
    如题,各位GGMM求帮助,头痛,,,,偏头痛。
    17 replies    1970-01-01 08:00:00 +08:00
    yakczh
        1
    yakczh  
       Mar 31, 2014   ❤️ 2
    检测ua,如果是手机,换个模板不就完了吗,这有什么头疼的?
    SLG
        2
    SLG  
       Mar 31, 2014   ❤️ 1
    css做好responsive就好了, 实在不做也没关系, 拿baidu w调用.

    其实做单纯wap页面这需求纯粹白瞎, 这年头哪有人会用只支持wap的手机上网的, 10年前还差不多.
    010blue
        3
    010blue  
       Mar 31, 2014   ❤️ 1
    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
        4
    vibbow  
       Mar 31, 2014   ❤️ 1
    数据库最全,检测最完美的方法:
    https://github.com/garetjax/phpbrowscap
    lijinma
        5
    lijinma  
       Mar 31, 2014   ❤️ 1
    建议你使用responsive的方式,不要单做wap
    mikemikemike
        6
    mikemikemike  
    OP
       Mar 31, 2014
    @010blue 使用的是一个老的框架站点,symfony 1.4,需要维护使用,这个怎么办。查了一下这相关的资料很少。重新开发成本又高。
    iamjs
        7
    iamjs  
       Mar 31, 2014   ❤️ 1
    11
        8
    11  
       Mar 31, 2014
    mikemikemike
        9
    mikemikemike  
    OP
       Mar 31, 2014
    @iamjs 嗯,检测到之后怎么转wap呢?
    mikemikemike
        10
    mikemikemike  
    OP
       Mar 31, 2014
    @SLG @yakczh @lijinma 求助,看是否有相关建议:
    使用的是一个老的框架站点,symfony 1.4,需要维护使用,这个怎么办。查了一下这相关的资料很少。重新开发成本又高。
    lincanbin
        11
    lincanbin  
       Mar 31, 2014
    @mikemikemike 如果是MVC,那么只要根据UA修改View的路径即可。
    mikemikemike
        12
    mikemikemike  
    OP
       Mar 31, 2014
    @lincanbin 有没有联系方式呢?加一下Q29590764
    huangzxx
        13
    huangzxx  
       Apr 1, 2014
    oott123
        14
    oott123  
       Apr 2, 2014 via Android
    我估计楼主是想要一个 php 智能将 web 页面转换为 wap 输出的玩意。
    目前来说可能性不大,或者说效果不好。
    你得重新开发一套 wap 的模板。
    dong3580
        15
    dong3580  
       Apr 2, 2014 via iPhone
    @mikemikemike
    例如自己的地址: localhost:80/test/www/index.html
    检测到就跳到:localhost:80/test/wap/index.html
    不就OK了.
    iamjs
        16
    iamjs  
       Apr 2, 2014
    @mikemikemike 最好的方式是载入不同模版
    也可以跳转到不同网址。
    更可以使用响应式布局做网站。。比如我的 http://www.benhouzi.com 用bootstrap做前端。基本再用 css3区别屏幕宽度,来做一些 display:none 在小屏幕上隐藏掉一些内容。来保证内容完整
    MaiCong
        17
    MaiCong  
       Apr 2, 2014
    可以用css做响应式布局(@media screen),或者用php判断UA,套用另一个模版
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3571 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 10:40 · PVG 18:40 · LAX 03:40 · JFK 06:40
    ♥ Do have faith in what you're doing.