လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> client browser ဗားရှင်းကိုရှာဖွေရန် Get_Client_version ကိုမည်သို့အသုံးပြုရမည်နည်း

client browser ဗားရှင်းကိုရှာဖွေရန် Get_Client_version ကိုမည်သို့အသုံးပြုရမည်နည်း

gitbox 2025-05-06

PHP တွင် client browser ဗားရှင်းများကိုရှာဖွေခြင်းသည်ဘုံလိုအပ်ချက်ဖြစ်သည်။ အထူးသဖြင့်မတူညီသောလုပ်ဆောင်ချက်များကိုကွဲပြားခြားနားသော browser ဗားရှင်းများသို့မတူညီသောလုပ်ဆောင်ချက်များသို့မဟုတ်စတိုင်များလိုအပ်သည့်ဗားရှင်းထိန်းချုပ်မှုသည်အလွန်အရေးကြီးသည်။ သုံးစွဲသူ၏ agent string ကိုရယူခြင်းဖြင့်၎င်းကိုကျွန်ုပ်တို့အောင်မြင်နိုင်သည်။ ဤဆောင်းပါးသည် client browser ဗားရှင်းကိုရှာဖွေရန် Custom Get_Client_Version_version_version_version function ကိုအသုံးပြုလိမ့်မည်။

1 ။ သုံးစွဲသူ browser ၏ အသုံးပြုသူ - ကိုယ်စားလှယ်ကို ရယူပါ

0 န ဆောင်မှုခံယူသူတောင်းဆိုသည့်အခါတိုင်း browser သည် browser အမျိုးအစား, ဗားရှင်း, operating system နှင့်အခြားအချက်အလက်များပါ 0 င်သော http header ကိုပေးပို့လိမ့်မည်။ ဤအချက်အလက်ရရှိရန် PHP သည် ဒေါ်လာ _server [http_user_agent]] ထောက်ပံ့ပေးသည်။

ကျွန်ုပ်တို့သည် browser အမျိုးအစားနှင့်ဗားရှင်းကိုထုတ်ယူရန် function တစ်ခုကို ဦး စွာသတ်မှတ်သည်။

 function get_client_version() {
    // ရယူ User-Agent ကြိုး
    $userAgent = $_SERVER['HTTP_USER_AGENT'];

    // browser ဗားရှင်း
    $browserVersion = '';
    // ကွဲပြားခြားနားသော browser များ detect
    if (preg_match('/MSIE (.*?);/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Trident\/.*rv:(.*?)\)/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Chrome\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Chrome: " . $matches[1];
    } elseif (preg_match('/Firefox\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Firefox: " . $matches[1];
    } elseif (preg_match('/Safari\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Safari: " . $matches[1];
    } elseif (preg_match('/Edge\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Edge: " . $matches[1];
    } else {
        $browserVersion = "Unknown Browser";
    }

    return $browserVersion;
}

အထက်ဖော်ပြပါကုဒ်များတွင်ကျွန်ုပ်တို့သည် Over-agent string တွင် browser အမျိုးအစားနှင့်ဗားရှင်းအချက်အလက်များကိုထုတ်ယူရန်ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုသည်။ ကွဲပြားခြားနားသော browser များတွင်ကွဲပြားခြားနားသော browsiers များရှိသည်။ ဥပမာအားဖြင့် Chrome ၏ဗားရှင်းနံပါတ်သည် Chrome ၏ နောက်သို့လိုက်ပြီး Internet Explorer သည် MSie သို့မဟုတ် Trident ကို အသုံးပြုသည်။

2 ။ ဗားရှင်းထိန်းချုပ်မှုလုပ်ဆောင်ပါ

Browser ဗားရှင်းအချက်အလက်များကိုကျွန်ုပ်တို့ထုတ်ယူပြီးတာနဲ့ဗားရှင်းအရကွဲပြားခြားနားစွာထိန်းချုပ်နိုင်သည်။ ကျွန်ုပ်တို့သည် browser ဗားရှင်းဟောင်းများနှင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ချင်ကြပြီး browser ဗားရှင်းအသစ်များအတွက်အဆင့်မြင့်အင်္ဂါရပ်များကိုဖွင့်ပါ။

ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် Chrome ဗားရှင်းကိုစစ်ဆေးပြီးဗားရှင်းအရကွဲပြားခြားနားသောအင်္ဂါရပ်များကိုပေးနိုင်သည်။

 function version_control() {
    $browserVersion = get_client_version();
    
    // ရယူဘရောင်ဇာ名称和ထင်မြင်ချက်号
    preg_match('/([a-zA-Z]+): (\d+\.\d+)/', $browserVersion, $matches);
    
    $browserName = $matches[1] ?? 'Unknown';
    $version = $matches[2] ?? '0';

    // မှန်သော Chrome ဗားရှင်းထိန်းချုပ်မှုလုပ်ဆောင်ပါ
    if ($browserName == 'Chrome') {
        if (floatval($version) < 90) {
            echo "မင်း Chrome browser ဗားရှင်း过低,请升级以ရယူ更好的体验。";
        } else {
            echo "မင်း Chrome browser ဗားရှင်း支持最新功能!";
        }
    } elseif ($browserName == 'Firefox') {
        // မှန်သော Firefox အလားတူဗားရှင်းထိန်းချုပ်မှုလုပ်ဆောင်ပါ
        if (floatval($version) < 80) {
            echo "မင်း Firefox browser ဗားရှင်း过低,请升级以ရယူ更好的体验。";
        } else {
            echo "မင်း Firefox browser ဗားရှင်း支持最新功能!";
        }
    } else {
        echo "သင်အသုံးပြုနေသည်ကိုရှာဖွေတွေ့ရှိခဲ့သည် $browserName ဘရောင်ဇာ,ထင်မြင်ချက်: $version。";
    }
}

ဒီ version_conftrol function တွင် browser ဗားရှင်းအချက်အလက်ရရန် Get_Client_Version ကို ပထမဆုံးခေါ်ဆိုပါ။ ထို့နောက်ကျွန်ုပ်တို့သည် browser ၏အမည်နှင့်ဗားရှင်းအပေါ် အခြေခံ. ကွဲပြားသောယုတ္တိဗေဒထုတ်လုပ်မှုကိုလုပ်ဆောင်သည်။ ဥပမာအားဖြင့်, Chrome ဗားရှင်းသည် 90 ထက်နိမ့်ပါကအသုံးပြုသူသည် browser ကိုအဆင့်မြှင့်တင်ရန်သတိပေးလိမ့်မည်။

3 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

ယခင်ကုဒ်ကိုပေါင်းစပ်ပြီး PHP စာမျက်နှာတွင်အသုံးပြုနိုင်သည့်ပြည့်စုံသောဥပမာတစ်ခုရှိသည်။

 <?php
function get_client_version() {
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    $browserVersion = '';
    
    if (preg_match('/MSIE (.*?);/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Trident\/.*rv:(.*?)\)/', $userAgent, $matches)) {
        $browserVersion = "Internet Explorer: " . $matches[1];
    } elseif (preg_match('/Chrome\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Chrome: " . $matches[1];
    } elseif (preg_match('/Firefox\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Firefox: " . $matches[1];
    } elseif (preg_match('/Safari\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Safari: " . $matches[1];
    } elseif (preg_match('/Edge\/(.*?) /', $userAgent, $matches)) {
        $browserVersion = "Edge: " . $matches[1];
    } else {
        $browserVersion = "Unknown Browser";
    }

    return $browserVersion;
}

function version_control() {
    $browserVersion = get_client_version();
    preg_match('/([a-zA-Z]+): (\d+\.\d+)/', $browserVersion, $matches);
    
    $browserName = $matches[1] ?? 'Unknown';
    $version = $matches[2] ?? '0';

    if ($browserName == 'Chrome') {
        if (floatval($version) < 90) {
            echo "မင်း Chrome browser ဗားရှင်း过低,请升级以ရယူ更好的体验。";
        } else {
            echo "မင်း Chrome browser ဗားရှင်း支持最新功能!";
        }
    } elseif ($browserName == 'Firefox') {
        if (floatval($version) < 80) {
            echo "မင်း Firefox browser ဗားရှင်း过低,请升级以ရယူ更好的体验。";
        } else {
            echo "မင်း Firefox browser ဗားရှင်း支持最新功能!";
        }
    } else {
        echo "သင်အသုံးပြုနေသည်ကိုရှာဖွေတွေ့ရှိခဲ့သည် $browserName ဘရောင်ဇာ,ထင်မြင်ချက်: $version。";
    }
}

// 调用ထင်မြင်ချက်控制
version_control();
?>

အထက်ပါကုဒ်သည်မတူညီသော browser ဗားရှင်းအပေါ် အခြေခံ. မတူညီသောသုံးစွဲသူအတွေ့အကြုံများသို့မဟုတ်သတိပေးချက်များကိုပေးနိုင်သည်။ သင်နောက်ထပ်ဗားရှင်းအချို့ကိုထည့်သွင်းခြင်းကဲ့သို့သောသင်၏လိုအပ်ချက်များနှင့်အညီသင်ထပ်မံတိုးချဲ့နိုင်သည်။