PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်လမ်းကြောင်းများနှင့်ဖိုင်အမည်များကိုကိုင်တွယ်ခြင်းသည်အလွန်အသုံးများသောလိုအပ်ချက်တစ်ခုဖြစ်သည်။ အထူးသဖြင့်ဖိုင်မှတ်တမ်းထုတ်လုပ်ခြင်း, ပြောင်းလဲနေသောဆက်နွယ်မှု, Basename () function သည် File Name အပိုင်းကိုလမ်းကြောင်းမှန်ပေါ်တွင်ဖြည့်ဆည်းပေးနိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော်ဤလုပ်ဆောင်မှု၏အသုံးပြုမှုသည်ဖိုင်အမည်များကိုထုတ်ယူခြင်းထက်များစွာပိုသည်။ ဤဆောင်းပါးသည်လက်တွေ့ကျသောအခြေအနေများစွာမှ စ. ကုဒ်၏ကြံ့ခိုင်မှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန် Basename () ကို မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ဖိုင်တင်ခြင်းများကိုထုတ်ယူသောအခါအသုံးပြုသူမှတင်ထားသောလမ်းကြောင်းသည်လမ်းကြောင်းအပြည့်ပါ 0 င်နိုင်သည် (အထူးသဖြင့် browsers ဟောင်းများသို့မဟုတ်စနစ်များကိုဆက်လက်ထိန်းသိမ်းထားသည်) ဖိုင်အမည်များကိုလုံခြုံစွာနှင့်မှန်ကန်စွာသိမ်းဆည်းရန်ကျွန်ုပ်တို့သည် basename () ကို အသုံးပြုလေ့ရှိသည်။
$uploadedPath = $_FILES['file']['name'];
$filename = basename($uploadedPath);
move_uploaded_file($_FILES['file']['tmp_name'], '/uploads/' . $filename);
ဤအချက်သည်ဖိုင်အမည်များကိုသာထုတ်ယူခြင်း, လမ်းကြောင်းပေါ်ဆေးထိုးခြင်းသို့မဟုတ်စိတ်ရှုပ်ထွေးမှုများကိုကာကွယ်ခြင်းကိုကာကွယ်ခြင်း,
download link များသို့မဟုတ် browsing link များကို dyuntically dynamically လုပ်သည့်အခါသို့မဟုတ်ဖိုင် browsing link များပြုလုပ်သောအခါသင်ဖိုင်လမ်းကြောင်းမှဖိုင်အမည်ကိုထုတ်ယူရန်လိုအပ်သည်။
$filePath = '/var/www/m66.net/downloads/report_2025_06_01.pdf';
$filename = basename($filePath);
echo "<a href=\"https://m66.net/downloads/{$filename}\">ဖိုင်ကို download လုပ်ပါ</a>";
ဤနည်းလမ်းသည်လမ်းကြောင်းလမ်းကြောင်းကိုရှောင်ရှားရုံသာမက output content ၏ရှင်းလင်းမှုကိုပိုမိုကောင်းမွန်စေသည်။
Basename () ဖိုင်အမည်များကိုထုတ်ယူနိုင်သော်လည်းသတ်မှတ်ထားသော extension ကိုဖယ်ရှားရန်ဒုတိယ parameter သည်လည်းထောက်ပံ့သည်။ ဥပမာအားဖြင့်:
$fullName = '/var/logs/m66.net/error.log';
$nameWithoutExtension = basename($fullName, '.log');
echo $nameWithoutExtension; // ထုတ်လုပ်ခြင်း error
မှတ်ချက် - ဒုတိယ parameter သည်အကျိုးသက်ရောက်ရန် extension ကိုအတိအကျကိုက်ညီရမည်။ အကယ်. ဖိုင်အမည်မှာ အမှား ဖြစ်ပါကအထက်ပါအသုံးပြုမှုသည် .Latest.log ကို မဖယ်ရှားပါ။
ကျွန်ုပ်တို့တွင်အလိုအလျောက်ထုတ်လုပ်လိုက်သော static cache stats များကိုဖော်ရွေသောပြသမှုသတင်းအချက်အလက်အဖြစ်ပြောင်းလဲရန်လိုအပ်သည့်အစုတခုရှိသည်ဆိုပါစို့။
$cachePath = '/cache/m66.net/home/index_2025_06_01.html';
$filename = basename($cachePath, '.html');
// နိုင် index_2025_06_01 နောက်ထပ်ရက်စွဲနှင့်အခြားသတင်းအချက်အလက်များမှနောက်ထပ် format ချ
exploit () သို့မဟုတ်ပုံမှန်နှင့်ပေါင်းစပ်ပြီး, သင်ပိုမိုကောင်းမွန်သောဆန်ဆန်ပြုပြင်ခြင်းအတွက်ရက်စွဲ, ဘာသာစကားဗားရှင်း, စာမျက်နှာအမည်နှင့်အခြားအကြောင်းအရာများကိုထပ်မံဖြန့်ဝေနိုင်သည်။
Basename () သည်သဘာဝတွင်လုံခြုံရေးကိရိယာတစ်ခုမဟုတ်သော်လည်းအသုံးပြုသူများမှ 0 င်ရောက်သောလမ်းကြောင်းများပြောင်းလဲသည့်လမ်းကြောင်းများဖြစ်သောပထမ filter line အနေဖြင့်အသုံးပြုနိုင်သည်။
$userInput = '../../etc/passwd';
$safeName = basename($userInput);
ဤရလဒ်များ passwd ။ ၎င်းသည်လမ်းကြောင်းဖြတ်ကူးမှုကိုလုံးဝတားဆီးသည်ဟုမဆိုလိုပါသေးသော်လည်း၎င်းသည်အဖြူရောင် 0 င်ရေးရာလက်လှမ်းမီမှုကဲ့သို့သောနောက်ဆက်တွဲမဟာဗျူဟာများတွင်အန္တရာယ်များကိုလျှော့ချနိုင်သည်။
အချို့သောစီးပွားရေးယုတ္တိဗေဒတွင်ကျွန်ုပ်တို့သည် directory part နှင့်ဖိုင်အမည်အပိုင်းကိုလိုအပ်နိုင်သည်။
$fullPath = '/home/m66.net/public_html/uploads/2025/report.pdf';
$dir = dirname($fullPath);
$file = basename($fullPath);
၎င်းသည်လိုအပ်သောလမ်းကြောင်းကိုလိုအပ်သလိုခွဲစိတ်ကုသမှု, လမ်းကြောင်းပြန်လည်တည်ဆောက်ခြင်း, ခွင့်ပြုချက်စစ်ဆေးခြင်းအတွက်အသုံးပြုသည်။
Basename () သည် လမ်းကြောင်းများနှင့်ဖိုင်အမည်များကိုကိုင်တွယ်ရန်ရိုးရှင်းသောနှင့်ထိရောက်သောနည်းလမ်းများကိုထောက်ပံ့ပေးသော Baspename သည်သေးငယ်သောသို့သော်စွမ်းဆောင်နိုင်သည့် PHP function တစ်ခုဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်စွာလိုက်လျောညီထွေဖြစ်သည့် Pathername ( Dirname () , Pathinfo () , realpatho () , etc), code ၏လုံခြုံရေး, ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုများစွာတိုးတက်စေနိုင်သည်။ ဒိုင်းနမစ်ထုတ်လုပ်သောလမ်းကြောင်းများသို့မဟုတ်ပြင်ပသွင်းအားစုများနှင့်ဆက်ဆံရာတွင် Basename () ကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်အကောင်းဆုံးသောအကောင်းဆုံးအလေ့အကျင့်တစ်ခုဖြစ်သည်။