PHP Development တွင် DNS အမည်ရှိ DNS name ၏စံချိန်တင်အချက်အလက်များကိုရယူရန်သာမန်နည်းလမ်းမှာ DNS_GET_REACord function နှင့်သက်ဆိုင်သောပထဝီအနေအထားနှင့်သက်ဆိုင်သောပထဝီအနေအထားကိုရယူရန်ဖြစ်သည်။ ဤဆောင်းပါးသည်ဤနှစ်ခုကိုပေါင်းစပ်ညှိနှိုင်းရမည်ကိုမိတ်ဆက်ပေးမည်ဖြစ်ပြီး DNS Query အပေါ် အခြေခံ. ပထဝီဝင်တည်နေရာဝယ်ယူမှုကိုရရှိရန် Geographical Location ကိုရယူရန် Geography Location ကိုရယူရန်အတွက် GeoIP ဝန်ဆောင်မှုကိုသုံးပါ။
DNS_Get_record သည်သတ်မှတ်ထားသောဒိုမိန်းအမည်အတွက် DNS Record Information ကိုပြန်ပို့နိုင်သည့် built-in php function ဖြစ်သည်။ ကျွန်ုပ်တို့သည် စံချိန်တင် သောဒိုမိန်းအမည်နှင့်သက်ဆိုင်သည့် IPv4 လိပ်စာဖြစ်သည်။
နမူနာကုဒ်:
<?php
$domain = "m66.net";
// ရယူ DNS A စံချိန်
$dnsRecords = dns_get_record($domain, DNS_A);
if (!empty($dnsRecords)) {
$ip = $dnsRecords[0]['ip'];
echo "ဒိုမိန်းအမည် $domain ၏ IP လိပ်စာက: $ip\n";
} else {
echo "未找到ဒိုမိန်းအမည် $domain ၏ A စံချိန်。\n";
}
?>
အထက်ပါကုဒ်တွင်ဒိုမိန်းအမည်ကိုမှတ်တမ်းတင်ရန်တောင်းဆိုခဲ့သည်။ မျိုးစုံရှိလျှင်ပထမအကြိမ်အိုင်ပီလိပ်စာကိုယူလိမ့်မည်။
IP ကိုရယူပြီးသည်, ပထဝီအနေအထားသတင်းအချက်အလက်များကိုမေးမြန်းရန် GeoIP ဝန်ဆောင်မှုကိုကျွန်ုပ်တို့ခေါ်ဆိုနိုင်သည်။ ဒီမှာဘုံနည်းလမ်းနှစ်ခုရှိပါတယ်:
PHP ကို အသုံးပြု. GeoIP extension များ (ဥပမာ Geoip သို့မဟုတ် Geoip2 )
Third-party web API interfaces (ဥပမာ IP-api.com, Ipstack, သို့မဟုတ် Taobao IP address စာကြည့်တိုက်)
အောက်ပါပါတီ API ကိုခေါ်ယူခြင်းဖြင့် Geolocation အတွက် Geolocation အတွက်လက်ခံရန်မသိဘဲရမ်းမေးတဲ့ interface ကိုအသုံးပြုခြင်းကိုပြသသည်။
<?php
$ip = "8.8.8.8"; // နမူနာ IP စကားပေြာဟော
// တတိယပါတီယူဆ API စကားပေြာဟော,အမှန်တကယ်ရရှိနိုင်သည့် interface ကိုအစားထိုးလိုက်ပါ
$apiUrl = "http://m66.net/api/geoip?ip=" . $ip;
$response = file_get_contents($apiUrl);
if ($response !== false) {
$data = json_decode($response, true);
if ($data && isset($data['country'], $data['city'])) {
echo "IP $ip ၏ပထဝီအနေအထား: " . $data['country'] . ", " . $data['city'] . "\n";
} else {
echo "Geolocation သတင်းအချက်အလက်များကိုခွဲထုတ်ရန်ပျက်ကွက်ခဲ့သည်。\n";
}
} else {
echo "တယ်လီဖုန်းဆက်ခြင်း GeoIP interface မအောင်မြင်ပါ。\n";
}
?>
တိကျသော 0 န်ဆောင်မှုနှင့်အညီ $ apiurl ကို အစားထိုးပါ။ Interface ခေါ်ဆိုမှုများ၏ကြိမ်နှုန်းနှင့်ခွင့်ပြုချက်လိုအပ်ချက်များကိုဂရုပြုပါ။
အထက်ပါအဆင့်နှစ်ဆင့်ကိုပေါင်းစပ်ပြီးဒိုမိန်းအမည်မှ IP ကိုမည်သို့ရယူရန်နှင့် Geolocation မေးမြန်းခြင်းကိုသရုပ်ပြခြင်းအတွက်ဥပမာနှစ်ခုကိုအဆင့် 2 ဆင့်ကိုဤတွင်ဖော်ပြရန်ဥပမာအပြည့်အစုံဖြစ်သည်။
<?php
$domain = "m66.net";
// 1. ရယူ DNS A စံချိန်
$dnsRecords = dns_get_record($domain, DNS_A);
if (!empty($dnsRecords)) {
$ip = $dnsRecords[0]['ip'];
echo "ဒိုမိန်းအမည် $domain ၏ IP လိပ်စာက: $ip\n";
// 2. မေးမြန်း IP ၏ပထဝီအနေအထား
$apiUrl = "http://m66.net/api/geoip?ip=" . $ip;
$response = file_get_contents($apiUrl);
if ($response !== false) {
$data = json_decode($response, true);
if ($data && isset($data['country'], $data['city'])) {
echo "ပထဝီအနေအထား: " . $data['country'] . ", " . $data['city'] . "\n";
} else {
echo "Geolocation သတင်းအချက်အလက်များကိုခွဲထုတ်ရန်ပျက်ကွက်ခဲ့သည်。\n";
}
} else {
echo "တယ်လီဖုန်းဆက်ခြင်း GeoIP interface မအောင်မြင်ပါ。\n";
}
} else {
echo "未找到ဒိုမိန်းအမည် $domain ၏ A စံချိန်。\n";
}
?>
dns_get_record သည် PHP တွင် DNS အချက်အလက်များကိုရယူရန်ထိရောက်သောကိရိယာတစ်ခုဖြစ်သည်။
GeoIP 0 န်ဆောင်မှုများနှင့်ပေါင်းစပ်ပြီးပထဝီအနေအထားအချက်အလက်များကို IP မှတစ်ဆင့်မေးမြန်းနိုင်သည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများ၌သင့်လျော်သောပထဝီဝင်အနေအထားဆိုင်ရာတည်နေရာမေးမြန်းမှုအစီအစဉ်များကို service interface ပေါ်တွင် အခြေခံ. ရွေးချယ်သင့်သည်။
ပိုမိုတိကျသော Geolocation အတွက် MaxMind's Geoip2 ဒေတာဘေ့စ်သို့မဟုတ်အလားတူလခပေးသော 0 န်ဆောင်မှုများကိုအသုံးပြုရန်စဉ်းစားပါ။
ဤနည်းအားဖြင့် PHP စီမံကိန်းများအတွက် Domain Name Name Noure Seagolocation Change function ကိုသင်အကောင်အထည်ဖော်နိုင်သည်။ 0 က်ဘ်ဆိုက်ခွဲခြမ်းစိတ်ဖြာခြင်း,