ホームページ  >  記事  >  バックエンド開発  >  携帯電話からのアクセスが有効でないと PHP が判断した場合はどうすればよいですか?

携帯電話からのアクセスが有効でないと PHP が判断した場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2022-11-06 09:17:321954ブラウズ

携帯電話のアクセスが有効でないかどうかを判断するための php ソリューション: 1. php サンプル ファイルを作成します; 2. ismobile メソッドを定義します; 3. "if (isset ($_SERVER['HTTP_USER_AGENT']] にメソッド本体 )) {...}" メソッドを使用して、携帯電話のログイン アクセスであるかコンピュータ ログイン アクセスであるかを判断できます。

携帯電話からのアクセスが有効でないと PHP が判断した場合はどうすればよいですか?

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

php が携帯電話からのアクセスが有効でないと判断した場合はどうすればよいですか?

PHP を使用して携帯電話メソッドかどうかを判断する

アクセスを判断するのは非常に簡単です。独自のメソッドに貼り付けて使用します。直接

// 查看是否为手机端的方法
//判断是手机登录还是电脑登录
function ismobile() {
    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
        return true;
    
    //此条摘自TPM智能切换模板引擎,适合TPM开发
    if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
        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[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) !== false) && (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;) === false || (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) < strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;)))) {
            return true;
        }
    }
    return false;
}
 
 
 
 
// 查看是否为手机端的方法
//判断是手机登录还是电脑登录
function ismobile() {
    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER[&#39;HTTP_X_WAP_PROFILE&#39;]))
        return true;
    
    //此条摘自TPM智能切换模板引擎,适合TPM开发
    if(isset ($_SERVER[&#39;HTTP_CLIENT&#39;]) &&&#39;PhoneClient&#39;==$_SERVER[&#39;HTTP_CLIENT&#39;])
        return true;
    //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
    if (isset ($_SERVER[&#39;HTTP_VIA&#39;]))
        //找不到为flase,否则为true
        return stristr($_SERVER[&#39;HTTP_VIA&#39;], &#39;wap&#39;) ? true : false;
    //判断手机发送的客户端标志,兼容性有待提高
    if (isset ($_SERVER[&#39;HTTP_USER_AGENT&#39;])) {
        $clientkeywords = array(
            &#39;nokia&#39;,&#39;sony&#39;,&#39;ericsson&#39;,&#39;mot&#39;,&#39;samsung&#39;,&#39;htc&#39;,&#39;sgh&#39;,&#39;lg&#39;,&#39;sharp&#39;,&#39;sie-&#39;,&#39;philips&#39;,&#39;panasonic&#39;,&#39;alcatel&#39;,&#39;lenovo&#39;,&#39;iphone&#39;,&#39;ipod&#39;,&#39;blackberry&#39;,&#39;meizu&#39;,&#39;android&#39;,&#39;netfront&#39;,&#39;symbian&#39;,&#39;ucweb&#39;,&#39;windowsce&#39;,&#39;palm&#39;,&#39;operamini&#39;,&#39;operamobi&#39;,&#39;openwave&#39;,&#39;nexusone&#39;,&#39;cldc&#39;,&#39;midp&#39;,&#39;wap&#39;,&#39;mobile&#39;
        );
        //从HTTP_USER_AGENT中查找手机浏览器的关键字
        if (preg_match("/(" . implode(&#39;|&#39;, $clientkeywords) . ")/i", strtolower($_SERVER[&#39;HTTP_USER_AGENT&#39;]))) {
            return true;
        }
    }
    //协议法,因为有可能不准确,放到最后判断
    if (isset ($_SERVER[&#39;HTTP_ACCEPT&#39;])) {
        // 如果只支持wml并且不支持html那一定是移动设备
        // 如果支持wml和html但是wml在html之前则是移动设备
        if ((strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) !== false) && (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;) === false || (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) < strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;)))) {
            return true;
        }
    }
    return false;
}

推奨学習:「PHP ビデオ チュートリアル

以上が携帯電話からのアクセスが有効でないと PHP が判断した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。