နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် protocol, hostname path or query parametersters စသည့်အပိုင်းအစများကိုထုတ်ယူရန် URL ကိုမကြာခဏခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည်။ အချို့သောအခြေအနေများတွင်ကျွန်ုပ်တို့သည် image name address address တွင် image name, document name စသည်တို့ကဲ့သို့သော url ရှိလမ်းကြောင်းအပိုင်းတွင်ပါရှိသော "ဖိုင်အမည်" တွင်ပါ 0 င်သည်။
PHP တွင်ကျွန်ုပ်တို့သည် URL ကိုအမျိုးမျိုးသောအစိတ်အပိုင်းများသို့ခွဲထုတ်ရန် built-in parse_url function ကိုသုံးနိုင်သည်။ ထို့နောက်လမ်းကြောင်းမှကျွန်ုပ်တို့လိုချင်သောဖိုင်အမည်ကိုထုတ်ယူရန် Basename function ကိုပေါင်းစပ်နိုင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ငန်းစဉ်ကိုဥပမာများနှင့်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုရှင်းပြပါမည်။
Parse_url သည် php urls များအတွက် PHP မှပေးသော function တစ်ခုဖြစ်သည်။ အောက်ပါဖြစ်နိုင်သောသော့များပါ 0 င်သည့် Associative ခင်းကျင်းမှုကိုပြန်လည်ရယူသည်။
အစီအစဉ် - HTTP, https ကဲ့သို့သော
Host: Host အမည်
Port: port နံပါတ်
အသုံးပြုသူ - အသုံးပြုသူအမည်
Pass: စကားဝှက်
လမ်းကြောင်း: လမ်းကြောင်းအပိုင်း
Query: Query String
အပိုင်းအစ: ကျောက်ဆူးအမှတ်
အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$url = "https://www.gitbox.net/images/photo.jpg?size=large";
$parts = parse_url($url);
print_r($parts);
output ရလဒ် -
Array
(
[scheme] => https
[host] => www.gitbox.net
[path] => /images/photo.jpg
[query] => size=large
)
PHP ၏ Basename function သည်နောက်ဆုံးအဆင့်ဖိုင်အမည်ကိုလမ်းကြောင်းမှထုတ်ယူနိုင်သည်။ ဥပမာအားဖြင့်:
$path = "/images/photo.jpg";
$filename = basename($path); // ရလဒ်ကတော့ "photo.jpg"
URL ရှိ လမ်းကြောင်းကို ထုတ်ယူရန် Parse_URL ကို ဦး စွာ အသုံးပြု. ဖိုင်အမည်ကို အခြေခံ အားဖြင့်ရယူနိုင်သည်။ ဤတွင်အပြည့်အဝနမူနာကုဒ်ဖြစ်ပါတယ်:
function extractFilenameFromUrl($url) {
$parts = parse_url($url);
if (!isset($parts['path'])) {
return null; // မရရှိလျှင် path,ဖိုင်အမည်ကိုထုတ်ယူ။ မရပါ
}
return basename($parts['path']);
}
// နမူနာ
$url = "https://cdn.gitbox.net/assets/docs/manual.pdf?download=true";
$filename = extractFilenameFromUrl($url);
echo "ထုတ်ယူထားသောဖိုင်အမည်မှာ:$filename"; // ထုတ်လုပ်ခြင်း: ထုတ်ယူထားသောဖိုင်အမည်မှာ:manual.pdf
တစ်ခါတစ်ရံတွင် 0 င်ရောက်လာသည့် URL တွင်သတ်မှတ်ထားသောဖိုင်အမည်မရှိပါ။