လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Get_client_Version Function သည် Preg_match () သည် User-agent ကိုခွဲခြမ်းစိတ်ဖြာရန်ပေါင်းစပ်ထားသနည်း။ အသေးစိတ်အကောင်အထည်ဖော်မှုအသေးစိတ်

Get_client_Version Function သည် Preg_match () သည် User-agent ကိုခွဲခြမ်းစိတ်ဖြာရန်ပေါင်းစပ်ထားသနည်း။ အသေးစိတ်အကောင်အထည်ဖော်မှုအသေးစိတ်

gitbox 2025-05-29

0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင် client browser သို့မဟုတ် operating system ၏ဗားရှင်းအချက်အလက်များကိုအထူးသဖြင့် 0 န်ဆောင်မှုခံယူသူပတ်ဝန်းကျင်ကိုတုံ့ပြန်ရန်လိုအပ်သည့်အခါအထူးလိုအပ်ချက်တစ်ခုဖြစ်သည်။ PHP ရှိအသုံးများသောနည်းစနစ်များထဲမှတစ်ခုမှာ Get_Client_Version () function and preg_match () ကို ပေါင်းစပ်ရန် HTTP တောင်းဆိုမှုခေါင်းစဉ်တွင် အသုံးပြု သည်။

ဤဆောင်းပါးသည်ဤလုပ်ငန်းစဉ်၏အကောင်အထည်ဖော်မှုအသေးစိတ်ကိုအမှန်တကယ်ကုဒ်နမူနာများမှတဆင့်အသေးစိတ်လေ့လာသုံးသပ်လိမ့်မည်။

1 ။ အသုံးပြုသူအေးဂျင့်ကဘာလဲ။

User-orent သည် HTTP Header တွင် 0 န်ဆောင်မှုခံယူသူ (များသောအားဖြင့် browser) သည် software နှင့် hardware enface ပတ် 0 န်းကျင်ဆိုင်ရာအချက်အလက်များကိုအသိပေးသည့်အခါလိုက်ပါသွားလိမ့်မည်ဟု HTTP Header တွင်ရှိသည်။ ပုံမှန် အသုံးပြုသူကိုယ်စားလှယ် ဥပမာမှာ -

 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

2 ။ get_client_version ၏အခြေခံအခန်းကဏ် ()

Get_Client_Version () function ၏အဓိကလုပ်ဆောင်ချက်မှာအသုံးပြုသူ၏ အသုံးပြုသူ Agent String မှသတ်မှတ်ထားသော browser သို့မဟုတ် client ကိုထုတ်ယူရန်ဖြစ်သည်။ ဤရည်မှန်းချက်အောင်မြင်ရန်အဓိကနည်းပညာသည်ပုံမှန်စကားရပ်ကိုက်ညီမှုနှင့် PHP ၏ PREG_MATCH () PHP ၏ Preg_match () သည်ဤအလုပ်ကိုလုပ်ခြင်းသည်ကောင်းသည်။

3 ။ အကောင်အထည်ဖော်မှုယုတ္တိဗေဒ၏အသေးစိတ်ရှင်းပြချက်

Chrome browser ၏ဗားရှင်းနံပါတ်ကိုထုတ်ယူရန်အတွက်အသုံးပြုသောဥပမာ just_client_version () ကိုဥပမာတစ်ခုဖြစ်ပါတယ်။

 function get_client_version($userAgent, $clientName) {
    $version = null;

    switch (strtolower($clientName)) {
        case 'chrome':
            if (preg_match('/Chrome\/([\d\.]+)/i', $userAgent, $matches)) {
                $version = $matches[1];
            }
            break;

        case 'firefox':
            if (preg_match('/Firefox\/([\d\.]+)/i', $userAgent, $matches)) {
                $version = $matches[1];
            }
            break;

        case 'safari':
            if (preg_match('/Version\/([\d\.]+).*Safari/', $userAgent, $matches)) {
                $version = $matches[1];
            }
            break;

        case 'edge':
            if (preg_match('/Edg\/([\d\.]+)/i', $userAgent, $matches)) {
                $version = $matches[1];
            }
            break;

        default:
            // ဖောက်သည်များပိုမိုကျယ်ပြန့်စွာတိုးချဲ့နိုင်သည်
            break;
    }

    return $version;
}

4 ။ PREG_MATCH () အလုပ်ကဘာလဲ။

Preg_match () သည် PHP တွင်ပုံမှန်ကိုက်ညီသောလုပ်ဆောင်မှုကိုလုပ်ဆောင်သော function တစ်ခုဖြစ်ပြီး၎င်း၏အသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 preg_match(ပုံမှန်အသုံးအနှုန်းများ, လိုက်ဖက်ခံရဖို့ string ကို, ရလဒ်ခင်းကျင်းကိုက်ညီပါ);

ပုံမှန်အသုံးအနှုန်း /chromech 0 ယ်ခြင်း၏အဓိပ္ပါယ်သည်ဥပမာတစ်ခုအနေဖြင့် Chrome နှင့်အတူ Chrome နှင့်အတူ) နှင့်မတူပါ။

  • Chrome / : fixed string "chrome /" နှင့်ကိုက်ညီ;

  • ([\ d \ ။ ] နံပါတ်များ (သို့) အစက်အပြောက်များကိုဖမ်းယူခြင်း (I.E. ဗားရှင်းနံပါတ်များ) ကိုဖမ်းယူပါ။

  • / i : အမှုကိုက်ညီမှုကိုလျစ်လျူရှုပါ။

ပွဲအောင်မြင်သောအခါဗားရှင်းနံပါတ်ကို ဒေါ်လာပွဲများသို့ထုတ်ယူပါလိမ့်မည် [1] [1] နှင့်အသုံးပြုရန် function ကိုပြန်ပို့သည်။

V. စမ်းသပ်ခြင်းဥပမာများ

ဤတွင်ပြည့်စုံသောစမ်းသပ်မှုဥပမာတစ်ခုဖြစ်သည်။

 $userAgent = $_SERVER['HTTP_USER_AGENT'];
$client = 'chrome'; // လွှဲပြောင်းနိုင်ပါတယ် 'firefox', 'safari' စောင့်

$version = get_client_version($userAgent, $client);

echo "လက်ရှိအသုံးပြုခဲ့သည် $client browser ဗားရှင်းဖြစ်ပါတယ်: $version";

http://gitbox.net/test/test.php ကို ဝင်ရောက်ကြည့်ရှုသောအခါ local server ပေါ်တွင် (၎င်းကိုထိုဒိုမိန်းတွင်ထည့်သွင်းထားသည်ဟုယူဆသည်) တွင် Chrome browser ကိုအသုံးပြုပါက၎င်းကဲ့သို့သောအရာဖြစ်လိမ့်မည်။

 လက်ရှိအသုံးပြုခဲ့သည် chrome browser ဗားရှင်းဖြစ်ပါတယ်: 122.0.0.0

6 ။ စကေးပမာဏနှင့်လုံခြုံရေးအကြံပြုချက်များ

  • ကျယ်ပြန့်ခြင်း - ဖောက်သည်များပိုမိုများပြားသော 0 န်ဆောင်မှုခံယူသူများအတွက်သင်ပိုမိုအထောက်အပံ့များကိုအလွယ်တကူထည့်သွင်းနိုင်သည်

  • ကြံ့ခိုင်ခြင်း - မှားယွင်းသောအမှားအယွင်းများကိုရှောင်ရှားရန် အသုံးပြုသူအေးဂျင့် ကြိုးများကိုအခြေခံအတည်ပြုရန်အကြံပြုသည်။

  • လုံခြုံရေး - ခွဲခြမ်းစိတ်ဖြာ သုံးစွဲသူဖြစ်သူသည် ယေဘုယျအားဖြင့်လုံခြုံမှုရှိသော်လည်းစစ်မှန်ကြောင်းအတည်ပြုခြင်းကဲ့သို့သောအရေးပါသောအခြေအနေများတွင်မသုံးရန်အကြံပြုထားဆဲဖြစ်သည်။