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