PHP အစီအစဉ်များကိုရေးသည့်အခါကျွန်ုပ်တို့သည်မတူညီသောယုတ္တိရှိသောကုဒ်များကို server system type (သို့) အသုံးပြုသူ၏အဆိုအရကွပ်မျက်ရန်လိုအပ်သည့်ကွဲပြားခြားနားသောယုတ္တိကုဒ်များကွပ်မျက်ခံရရန်လိုအပ်သည့်အခြေအနေများကြုံတွေ့ရလေ့ရှိသည်။ ဥပမာအားဖြင့်အချို့သောအင်္ဂါရပ်များသည် Linux ပတ် 0 န်းကျင်တွင်သာအလုပ်လုပ်နိုင်ပြီးအချို့သောအင်္ဂါရပ်များသည် 0 င်းဒိုးစနစ်များတွင်သာအလုပ်လုပ်နိုင်သည်။ ဤပြ problem နာကိုဖြေရှင်းရန်ကျွန်ုပ်တို့သည် operating system အမျိုးအစားကိုအလိုအလျောက်ဖော်ထုတ်ခြင်းဖြင့်မတူညီသောယုတ္တိနည်းသောလမ်းကြောင်းများကိုပြောင်းလဲနိုင်သည်။
ဒီဆောင်းပါးမှာ PHP code ကို system type အမျိုးအစားများအပေါ် အခြေခံ. ကွဲပြားခြားနားသောစစ်ဆင်ရေးများကိုအလိုအလျောက်ခွဲခြားရန် PHP code ကိုမည်သို့အသုံးပြုရမည်ကိုပြသပါမည်။ အသုံးပြုသူကိုယ်စားလှယ်များ (user-agent) ကိုရှာဖွေတွေ့ရှိခြင်းဖြင့်ကွဲပြားခြားနားသော operating system အမျိုးအစားများကိုမည်သို့ခွဲခြားရမည်ကိုရှင်းပြပါမည်။
PHP သည်လက်ရှိ operating system ကိုခွဲခြားသတ်မှတ်ရန်ကူညီနိုင်သည့် built-in function များကိုထောက်ပံ့ပေးသည်။ အသုံးအများဆုံး function သည် php_os စဉ်ဆက်မပြတ်ဖြစ်သည်။ ၎င်းသည်လက်ရှိ operating system ၏အမည်ကိုပြန်လည်ရရှိစေသည်။ ကွဲပြားခြားနားသော operating systems များ၏ပြန်လာတန်ဖိုးများကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်ကွဲပြားခြားနားသောကုဒ်များကို execute နိုင်ပါတယ်။
<?php
// operating system type ကိုရယူပါ
$os = PHP_OS;
// ကွဲပြားခြားနားသောယုတ္တိဗေဒကို operating system အမျိုးအစားအရကွပ်မျက်ခံရသည်
switch ($os) {
case 'Linux':
echo "လက်ရှိ operating system ဖြစ်ပါတယ်Linux,ကရိယာတန်းဆာLinuxတိကျသောယုတ္တိဗေဒ。";
break;
case 'WINNT':
echo "လက်ရှိ operating system ဖြစ်ပါတယ်Windows,ကရိယာတန်းဆာWindowsတိကျသောယုတ္တိဗေဒ。";
break;
case 'Darwin':
echo "လက်ရှိ operating system ဖြစ်ပါတယ်macOS,ကရိယာတန်းဆာmacOSတိကျသောယုတ္တိဗေဒ。";
break;
default:
echo "မသိသော operating system ကို,ကရိယာတန်းဆာ默认逻辑。";
break;
}
?>
အထက်ပါကုဒ်များတွင် operating system ကို PHP_OS စဉ်ဆက်မပြတ်အမျိုးအစားကိုရယူပြီးလက်ရှိ operating system ကိုဆုံးဖြတ်ရန် switch statement ကိုသုံးပါ။
PHPP_OS ကိန်းရှင်များကိုအသုံးပြုခြင်းအပြင် GetEnV () function ကိုမှတစ်ဆင့်စနစ်နှင့်သက်ဆိုင်သောပတ် 0 န်းကျင်ဆိုင်ရာရှုခင်းများကိုလည်းကျွန်ုပ်တို့ရရှိနိုင်သည်။ ၎င်းသည်မတူညီသောပတ်ဝန်းကျင်တွင် configuration ပြ issues နာများကိုပိုမိုပြောင်းလဲစေနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် လမ်းကြောင်း သို့မဟုတ်အခြားစနစ်ပတ်ဝန်းကျင်ဆိုင်ရာ variable များကိုရှာဖွေတွေ့ရှိခြင်းဖြင့် operating system ကိုဆုံးဖြတ်နိုင်သည်။
<?php
// ရယူPATHပတ်ဝန်းကျင် variable တွေကို
$path = getenv('PATH');
if (strpos($path, 'Windows') !== false) {
echo "စနစ်ပတ်ဝန်းကျင်ဖြစ်ပါတယ်Windows,ကရိယာတန်းဆာWindowsသတ်သတ်မှတ်မှတ်ကုဒ်。";
} else {
echo "စနစ်ပတ် 0 န်းကျင်မရှိပါWindows,ကရိယာတန်းဆာ其他系统သတ်သတ်မှတ်မှတ်ကုဒ်。";
}
?>
ဤကုဒ်တွင် လမ်းကြောင်း ပတ်ဝန်းကျင် variable တွင် Windows operating system ကိုဆုံးဖြတ်ရန် Windows string တစ်ခုရှိ, မရှိစစ်ဆေးသည်။
PHP ၏ Built-in Containtants နှင့်ပတ်ဝန်းကျင်ဆိုင်ရာ variable များမှတဆင့် operating system ကိုဖော်ထုတ်ခြင်းအပြင်အသုံးပြုသူ၏ operating system ကိုလည်း HTTP တောင်းဆိုမှုများတွင်ဆန်းစစ်ခြင်းဖြင့်လည်းဆုံးဖြတ်နိုင်သည်။ ၎င်းသည် browser-oriented applications များကိုတီထွင်ရန်အတွက်အလွန်အသုံးဝင်သည်။ အသုံးပြုသူဘရောက်ဇာတောင်းဆိုမှုခေါင်းစဉ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် operating system ကိုကျွန်ုပ်တို့ခွဲခြားသတ်မှတ်နိုင်သည်။
<?php
// ရယူ用户代理
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// operating system ကို detect
if (strpos($userAgent, 'Windows NT') !== false) {
echo "အသုံးပြုသူ operating system သည်Windows。";
} elseif (strpos($userAgent, 'Mac OS X') !== false) {
echo "အသုံးပြုသူ operating system သည်macOS。";
} elseif (strpos($userAgent, 'Linux') !== false) {
echo "အသုံးပြုသူ operating system သည်Linux。";
} else {
echo "အသုံးပြုသူရဲ့ operating system ကိုအသိအမှတ်မပြုနိုင်ဘူး。";
}
?>
ဤကုဒ်သည် User-Agent String တွင် Windows NT , Mac OS X သို့မဟုတ် Linux တို့ ပါ 0 င်သည်။
တစ်ခါတစ်ရံတွင် operating system တစ်ခု၏ဖော်ထုတ်ခြင်းသည်မတူညီသောယုတ္တိဗေဒဖျော်ဖြေမှုအတွက်သာမဟုတ်ပါ, သို့သော် operating system နှင့်သက်ဆိုင်သောပြင်ပအရင်းအမြစ်များကိုဖွင့်ရန်လည်းအသုံးပြုနိုင်သည်။ operating system ကိုဆုံးဖြတ်ခြင်းဖြင့်တောင်းဆိုထားသော URL သို့မဟုတ် API လိပ်စာကိုကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။
<?php
// operating system type ကိုရယူပါ
$os = PHP_OS;
// operating system အမျိုးအစားအရသိရသည်ကွဲပြားခြားနားဝန်URL
switch ($os) {
case 'Linux':
$url = 'https://m66.net/linux-api';
break;
case 'WINNT':
$url = 'https://m66.net/windows-api';
break;
case 'Darwin':
$url = 'https://m66.net/macos-api';
break;
default:
$url = 'https://m66.net/default-api';
break;
}
// စက်နှိုးGETမေးမြန်း
$response = file_get_contents($url);
echo "APIမေးမြန်း结果: " . $response;
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသော URL တောင်းဆိုမှုများကိုပြောင်းလဲပြီး operating system ပေါ် မူတည်. တုံ့ပြန်မှုများကိုရယူသည်။ ဤနည်းလမ်းသည် Platform ပလက်ဖောင်းထောက်ပံ့ထားသောအသုံးချပရိုဂရမ်များကိုတီထွင်ရန်အလွန်သင့်လျော်သည်။ မတူညီသောလည်ပတ်မှုစနစ်များနှင့်အညီကွဲပြားသော API interfaces များကိုရယူနိုင်သည်။
operating system အမျိုးအစားကိုဖော်ထုတ်ခြင်းနှင့်ကျိုးကြောင်းဆီလျော်သောယုတ္တိကုဒ်များကိုခွဲခြားသတ်မှတ်ခြင်းဖြင့် PHP အစီအစဉ်များသည်မတူညီသောပလက်ဖောင်းများ၏လိုအပ်ချက်များကိုပိုမိုနားလည်သဘောပေါက်နိုင်သည်။ PHP_OS စဉ်ဆက်မပြတ်, GetEnV () function ကို မှတဆင့်ဖြစ်စေ, URL တောင်းဆိုမှုများကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်မတူညီသော operating systems နှင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ရန်ပြင်ပအရင်းအမြစ်များကိုပင်ပြောင်းလဲနိုင်သည်။
ဤနည်းလမ်းသည်ကျွန်ုပ်တို့၏ကုဒ်ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စေသည်။ မတူညီသောလုပ်ဆောင်မှုပတ် 0 န်းကျင်နှင့်လိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်နိုင်သည်။