ခေတ်သစ်ဝက်ဘ်ဆိုက်များသို့မဟုတ်အသုံးချပရိုဂရမ်များကိုတီထွင်သောအခါအသုံးပြုသူပထဝီအနေအထားနှင့်စက်ပစ္စည်းအချက်အလက်များကိုရယူရန်မှာကိုယ်ပိုင်အတွေ့အကြုံကိုပေးရန်အလွန်အရေးကြီးသည်။ PHPT ဘာသာစကားသည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက်နည်းပညာဆိုင်ရာနည်းလမ်းများစွာကိုပေးသည် ။ ဤနည်းပညာနှစ်ခုကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သုံးစွဲသူ၏ IP address ကိုအလွယ်တကူရယူနိုင်ပါသည်။ ဤဆောင်းပါးသည်ဤနည်းပညာများမှတစ်ဆင့်မည်သို့အောင်မြင်ရန်မည်သို့အောင်မြင်ရမည်ကိုနားလည်ရန်သင်တစ်ဆင့်သွားပါလိမ့်မည်။
GeoIP နည်းပညာသည်အသုံးပြုသူများ၏ပထဝီဝင်နေရာများမှတစ်ဆင့် IP address များမှတစ်ဆင့်ရွေးချယ်သောနည်းပညာဖြစ်သည်။ IP address ကို Geodatabase နှင့်နှိုင်းယှဉ်ခြင်းအားဖြင့်တိုင်းပြည်, ပြည်နယ်, ပြည်နယ်, မြို့စ်နှင့်ပိုမိုတိကျမှန်ကန်မှုရှိသည့်အနီးစပ်ဆုံးတည်နေရာကိုကျွန်ုပ်တို့သိနိုင်သည်။ GeoIP 0 န်ဆောင်မှုများကိုများသောအားဖြင့် third-party libis သို့မဟုတ် apis များမှတဆင့်ထောက်ပံ့ပေးသည်။ ဘုံဂျော့စ်စာကြည့်တိုက်များတွင် MaxMind ၏ Geoip2 နှင့် Ipstack တို့ပါဝင်သည်။
Get_Client_Version သည် client's version အချက်အလက်များကိုရရှိရန်အသုံးပြုသောစိတ်ကြိုက်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ PHP တွင်အသုံးပြုသူစက်ပစ္စည်းနှင့်ပတ်သက်သောသတင်းအချက်အလက်ရယူခြင်း (operating system, browser, device type စသည်တို့စသည်တို့) သည်များသောအားဖြင့် HTTP တောင်းဆိုမှု header ရှိ User-Agent Field တွင်မှီခိုနေရသည်။ ဤကွက်လပ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် operating system, browser type နှင့်အသုံးပြုသူမှအသုံးပြုသောအခြားအချက်အလက်များကိုဆုံးဖြတ်နိုင်သည်။ GeoIP နည်းပညာနှင့်ပေါင်းစပ်ပြီးအသုံးပြုသူ၏ပထဝီဝင်အနေအထားကိုကျွန်ုပ်တို့ရယူပြီးသူတို့၏ device information ကိုပေါင်းစည်းနိုင်သည်။
အသုံးပြုသူ၏ဒေသနှင့်ကိရိယာအချက်အလက်များကိုခွဲခြားသတ်မှတ်ရန် Gear_Clies_Client_Version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_version_Version
ပထမ ဦး စွာ GeoIP စာကြည့်တိုက်တပ်ဆင်ထားကြောင်းသေချာပါစေ။ ဒီဥပမာမှာ MaxMind ရဲ့ Geoip2 ဒေတာဘေ့စ်ကိုသုံးမယ်။ MaxMind's Geoip2 စာကြည့်တိုက်ကိုထည့်သွင်းရန် composer ကိုသုံးနိုင်သည်။
composer require geoip2/geoip2
ဖောက်သည်များ၏ IP လိပ်စာကိုရယူခြင်းသည်အလွန်ရိုးရှင်းပါသည်။ ၎င်းကိုများသောအားဖြင့် $ _server ['remote_addr') ဖြင့်ရယူနိုင်သည်]
$ipAddress = $_SERVER['REMOTE_ADDR'];
ထို့နောက်ကျွန်ုပ်တို့သည် IP address ၏ပထဝီအနေအထားကိုရရှိရန် Geoip2 စာကြည့်တိုက်ကိုအသုံးပြုသည်။
require 'vendor/autoload.php';
use GeoIp2\Database\Reader;
// GeoIP2ဒေတာဘေ့စ်လမ်းကြောင်း
$reader = new Reader('/path/to/GeoLite2-City.mmdb');
// အသုံးပြုသူကိုရယူပါIPစကားပေြာဟော
$ipAddress = $_SERVER['REMOTE_ADDR'];
// အသုံးပြုGeoIP2ဒေတာဘေ့စ် query user ရဲ့ပထဝီဝင်တည်နေရာသတင်းအချက်အလက်
$record = $reader->city($ipAddress);
// output အသုံးပြုသူ၏ပထဝီဝင်နေရာများ
echo "Country: " . $record->country->name . "<br>";
echo "City: " . $record->city->name . "<br>";
echo "Latitude: " . $record->location->latitude . "<br>";
echo "Longitude: " . $record->location->longitude . "<br>";
ဤကျင့် 0 တ်ပါ 0 င်သည့်ဥပမာတွင် GeoIp2 စာကြည့်တိုက်မှတစ်ဆင့်သုံးစွဲသူ၏နိုင်ငံ, ဤအချက်အလက်သည်အသုံးပြုသူ၏ပထ 0 ီအနေအထားအရခွဲခြားသိမြင်မှုကိုအထောက်အကူပြုနိုင်သည်။
သုံးစွဲသူ၏စက်ပစ္စည်းအချက်အလက်များရရှိရန်အတွက်သုံးစွဲသူစက်ပစ္စည်း၏သက်ဆိုင်ရာသတင်းအချက်အလက်ရရှိရန် အသုံးပြုသူအေးဂျင့် လယ်ပြင်ကိုဆန်းစစ်သော Get_Client_Version Function ကိုသုံးနိုင်သည်။ ဤကွက်လပ်ကိုဆန်းစစ်ရန်ရိုးရှင်းသော function တစ်ခုကိုဖန်တီးနိုင်သည်။
function get_client_version() {
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// operating system ကိုစစ်ဆေးပါ
if (strpos($userAgent, 'Windows NT') !== false) {
$os = 'Windows';
} elseif (strpos($userAgent, 'Mac OS X') !== false) {
$os = 'Mac OS';
} elseif (strpos($userAgent, 'Linux') !== false) {
$os = 'Linux';
} else {
$os = 'Unknown OS';
}
// browser ကိုစစ်ဆေးပါ
if (strpos($userAgent, 'Chrome') !== false) {
$browser = 'Chrome';
} elseif (strpos($userAgent, 'Firefox') !== false) {
$browser = 'Firefox';
} elseif (strpos($userAgent, 'Safari') !== false) {
$browser = 'Safari';
} else {
$browser = 'Unknown Browser';
}
// output device ကိုသတင်းအချက်အလက်
return [
'os' => $os,
'browser' => $browser,
];
}
// client device ကိုသတင်းအချက်အလက်ရယူပါ
$clientInfo = get_client_version();
// output device ကိုသတင်းအချက်အလက်
echo "Operating System: " . $clientInfo['os'] . "<br>";
echo "Browser: " . $clientInfo['browser'] . "<br>";
ဤဥပမာတွင် သုံးစွဲသူအေးဂျင့်ကို ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့်သုံးစွဲသူ၏ operating system နှင့် browser နှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုကျွန်ုပ်တို့ရယူသည်။ ဤအချက်အလက်သည်အသုံးပြုသူစက်ပတ်ဝန်းကျင်ကိုနားလည်ရန်ကူညီသည်။
Geolocation Information နှင့် Device Information ကိုပေါင်းစပ်ပြီးပိုမိုပြည့်စုံသောဥပမာတစ်ခုဖန်တီးနိုင်သည်။
require 'vendor/autoload.php';
use GeoIp2\Database\Reader;
$reader = new Reader('/path/to/GeoLite2-City.mmdb');
$ipAddress = $_SERVER['REMOTE_ADDR'];
$record = $reader->city($ipAddress);
// ကိရိယာအချက်အလက်များကိုရယူပါ
function get_client_version() {
$userAgent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($userAgent, 'Windows NT') !== false) {
$os = 'Windows';
} elseif (strpos($userAgent, 'Mac OS X') !== false) {
$os = 'Mac OS';
} elseif (strpos($userAgent, 'Linux') !== false) {
$os = 'Linux';
} else {
$os = 'Unknown OS';
}
if (strpos($userAgent, 'Chrome') !== false) {
$browser = 'Chrome';
} elseif (strpos($userAgent, 'Firefox') !== false) {
$browser = 'Firefox';
} elseif (strpos($userAgent, 'Safari') !== false) {
$browser = 'Safari';
} else {
$browser = 'Unknown Browser';
}
return [
'os' => $os,
'browser' => $browser,
];
}
$clientInfo = get_client_version();
// output geographic တည်နေရာနှင့်ကိရိယာအချက်အလက်
echo "Country: " . $record->country->name . "<br>";
echo "City: " . $record->city->name . "<br>";
echo "Latitude: " . $record->location->latitude . "<br>";
echo "Longitude: " . $record->location->longitude . "<br>";
echo "Operating System: " . $clientInfo['os'] . "<br>";
echo "Browser: " . $clientInfo['browser'] . "<br>";
ဒီပြည့်စုံသောဥပမာသည်အသုံးပြုသူ၏ပထ 0 ီအနေအထားအရနေရာနှင့်ကိရိယာအချက်အလက်များကိုပြလိမ့်မည်။
Get_Client_Version function ကိုပေါင်းစပ်ခြင်းနှင့် GeoIP နည်းပညာကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏အပထရှိ 0 င်တည်နေရာနှင့်ကိရိယာအချက်အလက်များကိုရယူနိုင်သည်။ ၎င်းသည် 0 က်ဘ်ဆိုက်သို့မဟုတ် application များအတွက်ပိုမိုကိုယ်ပိုင်အသုံးပြုသူအတွေ့အကြုံကိုပေးသည်။ ကွဲပြားခြားနားသောဒေသများနှင့်ထုတ်ကုန်များအပေါ် အခြေခံ. စိတ်ကြိုက်ပြင်ဆင်ထားသောအကြောင်းအရာများကိုထောက်ပံ့ပေးနိုင်သည်။ အထက်ပါနမူနာကုဒ်နှင့်အတူဤလုပ်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပြီးသင်၏လိုအပ်ချက်နှင့်အညီ၎င်းကိုစကေးနိုင်သည်။