IS_DIR () သည် PHP ရှိ Built-in function များထဲမှတစ်ခုဖြစ်သည်။
<Code> $ path = '/ var / www / html / uploads'; IF (is_dir ($ path)) {echo ") {echo") {echo "သည်မှန်ကန်သော directory"; } အခြား echo "ဤလမ်းကြောင်းသည်လမ်းညွှန်မဟုတ်ပါ, မတည်ရှိပါ"; } </ code>ဤလုပ်ဆောင်ချက်သည် server ပေါ်ရှိတကယ့်ဖိုင်စနစ်အခြေအနေပေါ်မူတည်ပြီး boolean value ကို မှန်ကန် သည် ။
IS_DIR () ဟုခေါ်သည့်အခါ အကြွင်းမဲ့လမ်းကြောင်းများကို အသုံးပြုရန်ကြိုးစားပါ။ လက်ရှိအလုပ်လုပ်နေသော directory (CWD) တွင်အပြောင်းအလဲများကြောင့်ဆွေမျိုးလမ်းကြောင်းသည်ကျရှုံးနိုင်သည်။ ဥပမာအားဖြင့်:
<Code> $ Relswath = 'Images', $ assometePath = __Dir__ ။ '/ ရုပ်ပုံများ', if (is_dir ($ asselocepath)) {
// အကြံပြုနည်းလမ်း
}
</ code>
Realtpath () လမ်းကြောင်းကိုပုံမှန်ဖြစ်စေနိုင်သည်။ ဥပမာအားဖြင့်ဆွေမျိုးလမ်းကြောင်းအစိတ်အပိုင်းများကိုဖယ်ရှားနိုင်သည် ။ is_dir () နှင့်ပေါင်းစပ်။ Path Verification ကိုပိုမိုထိရောက်စွာလုပ်ဆောင်နိုင်သည်။
<Code> $ Path = Realpath ('/ var / www / html / uploads'), အကယ်. ($ Path! == false && is_dir ($ path)) {// လမ်းကြောင်းတည်ရှိပြီးလမ်းညွှန်သည် </ code> လမ်းညွှန်တစ်ခုဖြစ်ကြောင်းသေချာပါစေ။အသုံးပြုသူ input မှလမ်းကြောင်းများရယူသည့်အခါ, directory traversal တိုက်ခိုက်မှုများကိုရှောင်ရှားရန် ဤ ကဲ့သို့သောအန္တရာယ်ရှိသောဇာတ်ကောင်များကိုသေချာစွာစစ်ဆေးပါ။ ၎င်းကိုပုံမှန်အသုံးအနှုန်းများသို့မဟုတ်အဖြူရောင်ယန္တရားများနှင့်ပေါင်းစပ်နိုင်သည်။
<Code> $ input = $ _GET [dir '] ?? ''; အကယ်. (Preg_match ('/ ^ [a-za-z0-9 _ \ - \ - \ - \ /] + $ /', $ input)) {$ Path = realpath ('/ www / html /') ။ အကယ်. ($ Path! == false && is_dir ($ path)} {// လုံခြုံစိတ်ချရသော}} </ code>is_dir () သည် မတည်ရှိသည့်လမ်းကြောင်းအတွက်မှားယွင်းသောလမ်းများအတွက်မှားယွင်းသော်လည်းသင်ပိုမိုတိကျခိုင်မာစွာစစ်ဆေးခြင်းယုတ္တိဗေဒလိုအပ်ပါကသင်ပထမ ဦး ဆုံးလက်တွေ့ကျင့်သုံးရန် file_exists () ကို ပထမ ဦး စွာသုံးနိုင်သည်။
<Code> $ path = '/ var / www / html / uploads'; IF (File_exists ($ Path) && is_dir ($ Path) {// is_dir ($ path)) {// is_dir)} </ code>သင်္ကေတအချိတ်အဆက်များကမျှော်လင့်ထားသည့်အတိုင်းကွဲပြားခြားနားစွာပြုမူ ရန် () ကို ဖြစ်ပေါ်စေနိုင်သည်။ ဥပမာအားဖြင့်, link တစ်ခုသည်မတည်ရှိသောလမ်းညွှန်ကိုညွှန်ပြပါက is_dir () သည် မှားယွင်းသောပြန်လာလိမ့်မည်။ သင်နှင့် တွဲဖက်. is_link () ကို သုံးနိုင်သည်။
<Code> $ path = '/ var / www / html / uploads'; IF (is_link ($ path)) {echo "ဤသည် {echo" "" ဤသင်္ကေတ link "; } အခြား {is_dir ($ Path)) {echo ") {echo" {echo ") {isho" ", } </ code>ခွင့်ပြုချက်ပြ issue နာ - directory တည်ရှိရာတည်ရှိရင်တောင် IS_DIR () သည် PHP ခွင့်ပြုချက်မဖတ်ပါကမှားယွင်းစွာပြန်ပို့နိုင်သည်။
စွမ်းဆောင်ရည်ဆိုင်ရာပြ issues နာများ - လမ်းကြောင်းများစွာကိုစစ်ဆေးရန်မကြာခဏခေါ်ဆိုမှုများမကြာခဏခေါ်ဆိုမှုများသည်ကျွန်ုပ် / o ဖိအားပေးမှုကိုဖြစ်ပေါ်စေနိုင်သည်။
Multi-platform compatibility : Path Supports သည် Windows နှင့် Linux တွင်ကွဲပြားခြားနားပြီး directory_searator သို့မဟုတ်တစ်ပုံစံတည်းအသုံးပြုရန်အကြံပြုသည် ။
$realBase = realpath($baseDir);
if ($realBase === false || !is_dir($realBase)) {
return $dirs;
}
$entries = scandir($realBase);
foreach ($entries as $entry) {
if ($entry === '.' || $entry === '..') {
continue;
}
$fullPath = $realBase . DIRECTORY_SEPARATOR . $entry;
if (is_dir($fullPath)) {
$dirs[] = $entry;
}
}
return $dirs;
}
$ Uploaddirs = listuploaddiS ('/ www / gitw ည့်သည် / gitpsox.net / uploads');
Print_R ($ uploaddddiS);
</ code>
ဤကုဒ်သည်သတ်မှတ်ထားသော directory ထဲတွင် subdirectorirectorector များအားလုံးကိုလုံခြုံစွာစာရင်းပြုစုထားပြီးအကောင့်လမ်းကြောင်းသို့စာလမ်းကြောင်းပုံမှန်နှင့်အခြေခံလုံခြုံရေးပြုပြင်ပြောင်းလဲမှုများပြုလုပ်သည်။