လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Gear_Client_Version သည် Gear + Device Information ကိုဖော်ထုတ်ရန် GeoID နှင့်ပေါင်းစပ်ထားသည်

Gear_Client_Version သည် Gear + Device Information ကိုဖော်ထုတ်ရန် GeoID နှင့်ပေါင်းစပ်ထားသည်

gitbox 2025-05-11

ခေတ်သစ်ဝက်ဘ်ဆိုက်များသို့မဟုတ်အသုံးချပရိုဂရမ်များကိုတီထွင်သောအခါအသုံးပြုသူပထဝီအနေအထားနှင့်စက်ပစ္စည်းအချက်အလက်များကိုရယူရန်မှာကိုယ်ပိုင်အတွေ့အကြုံကိုပေးရန်အလွန်အရေးကြီးသည်။ PHPT ဘာသာစကားသည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက်နည်းပညာဆိုင်ရာနည်းလမ်းများစွာကိုပေးသည် ဤနည်းပညာနှစ်ခုကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သုံးစွဲသူ၏ IP address ကိုအလွယ်တကူရယူနိုင်ပါသည်။ ဤဆောင်းပါးသည်ဤနည်းပညာများမှတစ်ဆင့်မည်သို့အောင်မြင်ရန်မည်သို့အောင်မြင်ရမည်ကိုနားလည်ရန်သင်တစ်ဆင့်သွားပါလိမ့်မည်။

1 ။ GeoIP နည်းပညာကဘာလဲ။

GeoIP နည်းပညာသည်အသုံးပြုသူများ၏ပထဝီဝင်နေရာများမှတစ်ဆင့် IP address များမှတစ်ဆင့်ရွေးချယ်သောနည်းပညာဖြစ်သည်။ IP address ကို Geodatabase နှင့်နှိုင်းယှဉ်ခြင်းအားဖြင့်တိုင်းပြည်, ပြည်နယ်, ပြည်နယ်, မြို့စ်နှင့်ပိုမိုတိကျမှန်ကန်မှုရှိသည့်အနီးစပ်ဆုံးတည်နေရာကိုကျွန်ုပ်တို့သိနိုင်သည်။ GeoIP 0 န်ဆောင်မှုများကိုများသောအားဖြင့် third-party libis သို့မဟုတ် apis များမှတဆင့်ထောက်ပံ့ပေးသည်။ ဘုံဂျော့စ်စာကြည့်တိုက်များတွင် MaxMind ၏ Geoip2 နှင့် Ipstack တို့ပါဝင်သည်။

2 ။ get_client_version function ကိုမိတ်ဆက်

Get_Client_Version သည် client's version အချက်အလက်များကိုရရှိရန်အသုံးပြုသောစိတ်ကြိုက်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ PHP တွင်အသုံးပြုသူစက်ပစ္စည်းနှင့်ပတ်သက်သောသတင်းအချက်အလက်ရယူခြင်း (operating system, browser, device type စသည်တို့စသည်တို့) သည်များသောအားဖြင့် HTTP တောင်းဆိုမှု header ရှိ User-Agent Field တွင်မှီခိုနေရသည်။ ဤကွက်လပ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် operating system, browser type နှင့်အသုံးပြုသူမှအသုံးပြုသောအခြားအချက်အလက်များကိုဆုံးဖြတ်နိုင်သည်။ GeoIP နည်းပညာနှင့်ပေါင်းစပ်ပြီးအသုံးပြုသူ၏ပထဝီဝင်အနေအထားကိုကျွန်ုပ်တို့ရယူပြီးသူတို့၏ device information ကိုပေါင်းစည်းနိုင်သည်။

3 ။ PHP ကိုအသုံးပြုနည်းသည် GeoIP နှင့် Get_Cliesies_Client_version ကိုတိုင်းဒေသကြီးနှင့်စက်ပစ္စည်းအသိအမှတ်ပြုမှုကိုပေါင်းစပ်ရန်မည်သို့အသုံးပြုရမည်နည်း

အသုံးပြုသူ၏ဒေသနှင့်ကိရိယာအချက်အလက်များကိုခွဲခြားသတ်မှတ်ရန် 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

3.1 GeoIP စာကြည့်တိုက်ကို install လုပ်ပါ

ပထမ ဦး စွာ GeoIP စာကြည့်တိုက်တပ်ဆင်ထားကြောင်းသေချာပါစေ။ ဒီဥပမာမှာ MaxMind ရဲ့ Geoip2 ဒေတာဘေ့စ်ကိုသုံးမယ်။ MaxMind's Geoip2 စာကြည့်တိုက်ကိုထည့်သွင်းရန် composer ကိုသုံးနိုင်သည်။

 composer require geoip2/geoip2

3.2 client IP address ကိုရယူပါ

ဖောက်သည်များ၏ IP လိပ်စာကိုရယူခြင်းသည်အလွန်ရိုးရှင်းပါသည်။ ၎င်းကိုများသောအားဖြင့် $ _server ['remote_addr') ဖြင့်ရယူနိုင်သည်]

 $ipAddress = $_SERVER['REMOTE_ADDR'];

3.3 သုံးစွဲသူ Geolocation ရရှိရန် Geoip2 စာကြည့်တိုက်ကိုသုံးပါ

ထို့နောက်ကျွန်ုပ်တို့သည် 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 ီအနေအထားအရခွဲခြားသိမြင်မှုကိုအထောက်အကူပြုနိုင်သည်။

3.4 အသုံးပြုသူပစ္စည်းကိရိယာများကိုရယူပါ

သုံးစွဲသူ၏စက်ပစ္စည်းအချက်အလက်များရရှိရန်အတွက်သုံးစွဲသူစက်ပစ္စည်း၏သက်ဆိုင်ရာသတင်းအချက်အလက်ရရှိရန် အသုံးပြုသူအေးဂျင့် လယ်ပြင်ကိုဆန်းစစ်သော 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 နှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုကျွန်ုပ်တို့ရယူသည်။ ဤအချက်အလက်သည်အသုံးပြုသူစက်ပတ်ဝန်းကျင်ကိုနားလည်ရန်ကူညီသည်။

3.5 ပြည့်စုံသောဥပမာ

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 ီအနေအထားအရနေရာနှင့်ကိရိယာအချက်အလက်များကိုပြလိမ့်မည်။

4 ။ အကျဉ်းချုပ်

Get_Client_Version function ကိုပေါင်းစပ်ခြင်းနှင့် GeoIP နည်းပညာကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏အပထရှိ 0 င်တည်နေရာနှင့်ကိရိယာအချက်အလက်များကိုရယူနိုင်သည်။ ၎င်းသည် 0 က်ဘ်ဆိုက်သို့မဟုတ် application များအတွက်ပိုမိုကိုယ်ပိုင်အသုံးပြုသူအတွေ့အကြုံကိုပေးသည်။ ကွဲပြားခြားနားသောဒေသများနှင့်ထုတ်ကုန်များအပေါ် အခြေခံ. စိတ်ကြိုက်ပြင်ဆင်ထားသောအကြောင်းအရာများကိုထောက်ပံ့ပေးနိုင်သည်။ အထက်ပါနမူနာကုဒ်နှင့်အတူဤလုပ်ဆောင်မှုကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်ပြီးသင်၏လိုအပ်ချက်နှင့်အညီ၎င်းကိုစကေးနိုင်သည်။