လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Parse_url IPv6 လိပ်စာများနှင့် URLs များကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

Parse_url IPv6 လိပ်စာများနှင့် URLs များကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

gitbox 2025-05-20

PHP တွင် Parse_url သည် Scheme, Port, Port, Port, Par, Pail, Query တွင် URL များကိုချိုးဖောက်သောအသုံးများသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ငန်းသည်နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အလွန်လက်တွေ့ကျသည်, သို့သော် URL တွင် IPv6 လိပ်စာပါ 0 င်သည်။ ဤဆောင်းပါးသည် IPv6 လိပ်စာများပါ 0 င်သော URL များနှင့်ဆက်ဆံရာတွင် Parse_Url ၏အပြုအမူနှင့်ကြိုတင်ကာကွယ်မှုများပြုလုပ်ရန်လေ့လာလိမ့်မည်။

URLs တွင် IPv6 လိပ်စာများကိုမည်သို့ကိုယ်စားပြုရမည်နည်း

RFC 3986 အရ URL ၏ host အစိတ်အပိုင်းသည် IPv6 လိပ်စာဖြစ်သည့်အခါ၎င်းကိုစတုရန်းကွင်းခတ်ထားရမည်။ ဥပမာအားဖြင့်:

 http://[2001:db8::1]:8080/path?query=1

စတုရန်းကွင်းခတ်များ၏ရည်ရွယ်ချက်မှာ port နံပါတ်၏အူမကြီးနှင့်ခွဲခြားရန်နှင့်မရေရာဒွိဟမှုခွဲခြမ်းစိတ်ဖြာခြင်းကိုရှောင်ရှားရန်ဖြစ်သည်။

Parse_URL ၏အခြေခံအပြုအမူ

PPP ၏ parse_url function syntax အောက်ပါအတိုင်းဖြစ်သည် -

 parse_url(string $url, int $component = -1): array|string|false

IPv6 လိပ်စာပါ 0 င်သည့် URL တစ်ခုသို့သွားသောအခါ Parse_URL သည် အိမ်ရှင်အစိတ်အပိုင်းကိုမှန်ကန်စွာခွဲခြားသတ်မှတ်နိုင်သည်။ တိကျတဲ့ဥပမာတစ်ခုကိုကြည့်ကြစို့။

 $url = 'http://[2001:db8::1]:8080/path?query=1';
$parts = parse_url($url);

print_r($parts);

output ရလဒ် -

 Array
(
    [scheme] => http
    [host] => 2001:db8::1
    [port] => 8080
    [path] => /path
    [query] => query=1
)

သင်မြင်နိုင်သည့်အတိုင်းစတုရန်းကွင်းခတ်များကို IPv6 လိပ်စာတွင် IPv6 လိပ်စာတွင်မူလ URL ရှိ IPv6 လိပ်စာတွင်အသုံးပြုသည် ဤသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီသောအပြုအမူဖြစ်ပါတယ်။

အမှားအယွင်းဥပမာ

IPv6 လိပ်စာကို URL တွင်စတုရန်းကွင်းခတ်များတွင်မှန်ကန်စွာပတ်စွာမထုပ်ပါက Parse_URL ကို မှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာလိမ့်မည်မဟုတ်ပါ။ ဥပမာအားဖြင့်:

 $url = 'http://2001:db8::1:8080/path';
$parts = parse_url($url);

Parse_Url သည် 2001: 1: 8080 သည်ရှိမရှိဆုံးဖြတ်ရန်ဤကုဒ်သည် မှားယွင်းစွာ ပြန်လာလိမ့်မည်။

အကျဉ်းချုပ်

  • Parse_url သည် IPv6 လိပ်စာများပါ 0 င်သည့် urls ပါ 0 င်သည့် URLs များပါ 0 င်သည်။

  • အိမ်ရှင် လယ်ပြင်၌ပြန်လာရလဒ်တွင်စတုရန်းကွင်းခတ်များမပါ 0 င်ပါ။

  • IPv6 လိပ်စာကိုစတုရန်းကွင်းများ၌မထုပ်ပါက Parse_URL သည် မှားယွင်းစွာ ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပြန်ပို့ရန်ပျက်ကွက်လိမ့်မည်။

  • ဤလုပ်ဆောင်ချက်သည် Canonical URL အများစုနှင့်သက်ဆိုင်သည်။ သို့သော် URL ၏တရားဝင်မှုကိုအတည်ပြုခြင်းမပြုပါ။

လက်တွေ့ကျသောအကြံဥာဏ်

URLs များကို Parse_URL ကိုအသုံးပြုသည့်အခါ (အထူးသဖြင့် IPv6 လိပ်စာများပါ 0 င်နိုင်သည့်အခြေအနေများတွင်) Input URL သည် RFC စံသတ်မှတ်ချက်အောက်တွင်သေချာအောင်လုပ်ပါ, အထူးသဖြင့်အိမ်ရှင်တစ်စိတ်တစ်ပိုင်းအတွက်မှန်ကန်သောပုံစံဖြစ်သည်။ အသုံးပြုသူမှ 0 င်ရောက်သော URL ဖြစ်ပါကပျက်ကွက်မှုသို့မဟုတ်လုံခြုံရေးပြ issues နာများကိုရှောင်ရှားရန် Parse_Url ကို မခေါ်မီ format ကိုစစ်ဆေးရန်အကြံပြုသည်။