问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php中怎样实现判断是手机访问还是电脑浏览器访问

发布网友 发布时间:2022-04-06 00:49

我来回答

3个回答

热心网友 时间:2022-04-06 02:19

严格的讲 strpos($_SERVER['HTTP_ACCEPT'],'wap')!==false 判断是不够的,网上找了段比较全的测试无误,贴出来mark下:

  /**
     * 判断是手机访问pc访问
     */
    protected function check_wap() {
        if (isset($_SERVER['HTTP_VIA'])) {
            return true;
        }
        if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) {
            return true;
        }
        if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) {
            return true;
        }
        if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']), "VND.WAP.WML") > 0) {
            // Check whether the browser/gateway says it accepts WML.  
            $br = "WML";
        } else {
            $browser = isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : '';
            if (empty($browser)) {
                return true;
            }
            $mobile_os_list = array('Google Wireless Transcoder', 'Windows CE', 'WindowsCE', 'Symbian', 'Android', 'armv6l', 'armv5', 'Mobile', 'CentOS', 'mowser', 'AvantGo', 'Opera Mobi', 'J2ME/MIDP', 'Smartphone', 'Go.Web', 'Palm', 'iPAQ');

            $mobile_token_list = array('Profile/MIDP', 'Configuration/CLDC-', '160×160', '176×220', '240×240', '240×320', '320×240', 'UP.Browser', 'UP.Link', 'SymbianOS', 'PalmOS', 'PocketPC', 'SonyEricsson', 'Nokia', 'BlackBerry', 'Vodafone', 'BenQ', 'Novarra-Vision', 'Iris', 'NetFront', 'HTC_', 'Xda_', 'SAMSUNG-SGH', 'Wapaka', 'DoCoMo', 'iPhone', 'iPod');

            $found_mobile = $this->checkSubstrs($mobile_os_list, $browser) || $this->checkSubstrs($mobile_token_list, $browser);
            if ($found_mobile) {
                $br = "WML";
            } else {
                $br = "WWW";
            }
        }
        if ($br == "WML") {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 判断手机访问, pc访问
     */
    protected function checkSubstrs($list, $str) {
        $flag = false;
        for ($i = 0; $i < count($list); $i++) {
            if (strpos($str, $list[$i]) > 0) {
                $flag = true;
                break;
            }
        }
        return $flag;
    }
    
    if ($this->check_wap()) {
                   echo 'wap';
        }else{
          echo 'pc';
        }

热心网友 时间:2022-04-06 03:37

if(strpos($_SERVER['HTTP_ACCEPT'],'wap')){
手机页面
}else{
电脑页面
}

热心网友 时间:2022-04-06 05:11

<?php
if(strpos($_SERVER['HTTP_ACCEPT'],'wap')!==false)
{//手机
}else{
//电脑
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
卡耐基的智慧大全集内容简介 会说话赢天下内容简介 卡耐基演讲与口才内容简介 商务口才训练内容简介 卡耐基金牌口才作者简介 卡耐基商务口才 作者简介 爱因斯坦的更多故事 杨柯叶谨言是什么电视 房贷和消费贷利率差别不大,但是还款金额差别挺大,都是怎么计算的... ...11月18号提现1500元、,11月25号还款1515,请问我还需要还 PHP网页下手机端如何强制跳转到电脑端 php如何判断用户是从指定页面跳转进来的 PHP页面跳转问题,判断手机浏览页面还是PC浏览页面并自动响应到相应的页面 php中判断网页来路并实现跳转的方法 php程序有电脑版和手机版,怎让手机访问电脑版时自动识别是手机访问跳到手机版去。电脑访问手机版时自 php检测是否是手机上网,是手机的话自动调转到指定WAP网页,是电脑的话就调转到电脑网页 PHP如何实现根据手机位置自动跳转到当前城市分站 php如何实现判断跳转 PHP页面怎么实现多条件判断后跳转? php或js如何判断: 当电脑访问手机页面时自动跳转到PC版网页! php怎样识别手机和电脑访问分别跳转到不同的页面 php多个file_get_contents如何多线程并发? php 如何处理购物并发 php中产生的并发问题一般如何解决? PHP的并发问题 求教PHP是如何处理多任务并发的?求解 php单进程怎么处理并发 php判断手机电脑并且进行跳转 求PHP跳转外部URL代码,带参数! 求一个PHP的随机跳转代码! php 判断是否是手机浏览器访问 通过php判断跳转 php识别手机页面和电脑页面跳转 跪求!php完整网页识别手机浏览网页并跳转到指定页面 求一个 php 自动检测 URL 跳转的方法. PHP怎么转换图片格式? php转换图片类型 php 转换图片格式问题 PHP如何修改从网站获取的图片的格式 PHP 下载图片转换格式的问题? php将图片文件转换成二进制输出的方法 PHP把JPEG图片转换成Progressive JPEG的方法 如何将 *.php 转换为 *.jpg的图片格式 请问php 中的gd如何将ico图片转换成其他图片格式 php 如何将图片转换成java中Byte[]的 php rgb图片颜色模式转换成cmyk php中图片格式转换为ico格式 外部图片地址如何用PHP转换自己的图片? PHP图片如何转换 哪里有PHP图片格式转换成JPG或者BMP格式的图片转换工具下载啊?