0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင် client browser သို့မဟုတ် operating system ၏ဗားရှင်းအချက်အလက်များကိုအထူးသဖြင့် 0 န်ဆောင်မှုခံယူသူပတ်ဝန်းကျင်ကိုတုံ့ပြန်ရန်လိုအပ်သည့်အခါအထူးလိုအပ်ချက်တစ်ခုဖြစ်သည်။ PHP ရှိအသုံးများသောနည်းစနစ်များထဲမှတစ်ခုမှာ Get_Client_Version () function and preg_match () ကို ပေါင်းစပ်ရန် HTTP တောင်းဆိုမှုခေါင်းစဉ်တွင် အသုံးပြု သည်။
ဤဆောင်းပါးသည်ဤလုပ်ငန်းစဉ်၏အကောင်အထည်ဖော်မှုအသေးစိတ်ကိုအမှန်တကယ်ကုဒ်နမူနာများမှတဆင့်အသေးစိတ်လေ့လာသုံးသပ်လိမ့်မည်။
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
Get_Client_Version () function ၏အဓိကလုပ်ဆောင်ချက်မှာအသုံးပြုသူ၏ အသုံးပြုသူ Agent String မှသတ်မှတ်ထားသော browser သို့မဟုတ် client ကိုထုတ်ယူရန်ဖြစ်သည်။ ဤရည်မှန်းချက်အောင်မြင်ရန်အဓိကနည်းပညာသည်ပုံမှန်စကားရပ်ကိုက်ညီမှုနှင့် PHP ၏ PREG_MATCH () PHP ၏ Preg_match () သည်ဤအလုပ်ကိုလုပ်ခြင်းသည်ကောင်းသည်။
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;
}
Preg_match () သည် PHP တွင်ပုံမှန်ကိုက်ညီသောလုပ်ဆောင်မှုကိုလုပ်ဆောင်သော function တစ်ခုဖြစ်ပြီး၎င်း၏အသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
preg_match(ပုံမှန်အသုံးအနှုန်းများ, လိုက်ဖက်ခံရဖို့ string ကို, ရလဒ်ခင်းကျင်းကိုက်ညီပါ);
ပုံမှန်အသုံးအနှုန်း /chromech 0 ယ်ခြင်း၏အဓိပ္ပါယ်သည်ဥပမာတစ်ခုအနေဖြင့် Chrome နှင့်အတူ Chrome နှင့်အတူ) နှင့်မတူပါ။
Chrome / : fixed string "chrome /" နှင့်ကိုက်ညီ;
([\ d \ ။ ] နံပါတ်များ (သို့) အစက်အပြောက်များကိုဖမ်းယူခြင်း (I.E. ဗားရှင်းနံပါတ်များ) ကိုဖမ်းယူပါ။
/ i : အမှုကိုက်ညီမှုကိုလျစ်လျူရှုပါ။
ပွဲအောင်မြင်သောအခါဗားရှင်းနံပါတ်ကို ဒေါ်လာပွဲများသို့ထုတ်ယူပါလိမ့်မည် [1] [1] နှင့်အသုံးပြုရန် function ကိုပြန်ပို့သည်။
ဤတွင်ပြည့်စုံသောစမ်းသပ်မှုဥပမာတစ်ခုဖြစ်သည်။
$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
ကျယ်ပြန့်ခြင်း - ဖောက်သည်များပိုမိုများပြားသော 0 န်ဆောင်မှုခံယူသူများအတွက်သင်ပိုမိုအထောက်အပံ့များကိုအလွယ်တကူထည့်သွင်းနိုင်သည် ။
ကြံ့ခိုင်ခြင်း - မှားယွင်းသောအမှားအယွင်းများကိုရှောင်ရှားရန် အသုံးပြုသူအေးဂျင့် ကြိုးများကိုအခြေခံအတည်ပြုရန်အကြံပြုသည်။
လုံခြုံရေး - ခွဲခြမ်းစိတ်ဖြာ သုံးစွဲသူဖြစ်သူသည် ယေဘုယျအားဖြင့်လုံခြုံမှုရှိသော်လည်းစစ်မှန်ကြောင်းအတည်ပြုခြင်းကဲ့သို့သောအရေးပါသောအခြေအနေများတွင်မသုံးရန်အကြံပြုထားဆဲဖြစ်သည်။