လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ဖိုင်တွဲသတင်းအချက်အလက်တွက်ချက်မှု - ဖိုင်များ, ဖိုင်တွဲများနှင့်အရွယ်အစားအရေအတွက်ကိုရေတွက်ပါ

PHP ဖိုင်တွဲသတင်းအချက်အလက်တွက်ချက်မှု - ဖိုင်များ, ဖိုင်တွဲများနှင့်အရွယ်အစားအရေအတွက်ကိုရေတွက်ပါ

gitbox 2025-06-18

1 ။ သတ်မှတ်ထားသောဖိုင်တွဲ၏သတင်းအချက်အလက်ကိုတွက်ချက်ပါ

PHP တွင်ကျွန်ုပ်တို့သည်ဖိုင်တွဲတစ်ခု၏အချက်အလက်များ, ဖိုင်တွဲအရေအတွက်နှင့်ဖိုင်တွဲ၏အရွယ်အစားအပါအ 0 င်သတ်မှတ်ထားသောဖိုင်တွဲ၏သတင်းအချက်အလက်များကိုတွက်ချက်ရန်ဖိုင်စနစ်၏လုပ်ဆောင်မှုများကိုသုံးနိုင်သည်။ recursive mode မှတစ်ဆင့်ဖိုင်တွဲရှိဖိုင်များနှင့် subfolders များအားလုံးကို ဖြတ်. သက်ဆိုင်ရာအချက်အလက်များကိုရေတွက်နိုင်သည်။

1.1 reversively taversivers folders

ဖိုင်တွဲအတွင်းရှိဖိုင်များနှင့် subfolders များအားလုံးမှတစ်ဆင့်ဆက်သွယ်ရန်ကျွန်ုပ်တို့ပြန်လည်ပြင်ဆင်ထားသော function တစ်ခုကိုရေးရန်လိုအပ်သည်။ ဤလုပ်ဆောင်ချက်သည် parameter တစ်ခုအနေဖြင့်ဖိုင်တွဲလမ်းကြောင်းတစ်ခုဖြစ်ပြီးထိုတွင်ဖိုင်တွဲများ, ဖိုင်များနှင့်ဖိုင်တွဲအရေအတွက်ကိုရေတွက်သည်။

ဖိုင်တွဲများကိုပြန်လည်ရယူရန် PHP Code ကိုဤတွင်ဖော်ပြထားသည်။

 function getFolderInfo($folderPath) {
    $folderCount = 0;  // ဖိုလ်ဒါအရေအတွက်
    $fileCount = 0;    // ဖိုင်အရေအတွက်
    $folderSize = 0;   // ဖိုင်တွဲအရွယ်အစား

foreach ($files as $file) {
    if ($file == '.' || $file == '..') {  // လက်ရှိလမ်းညွှန်နှင့်ယခင်လမ်းညွှန်ကိုလျစ်လျူရှုပါ
        continue;
    }

    $filePath = $folderPath . '/' . $file;  // ဖိုင်သို့မဟုတ်ဖိုင်တွဲတစ်ခုသို့လမ်းကြောင်းအပြည့်အစုံ

    if (is_dir($filePath)) {  // ဖိုင်တွဲတစ်ခုဖြစ်ပါက
        $folderCount++;  // ဖိုလ်ဒါအရေအတွက်加1
        $subFolderInfo = getFolderInfo($filePath);  // တင်ပြစက်များနှင့်ပတ်သက်သောသတင်းအချက်အလက်ရယူခြင်း
        $folderCount += $subFolderInfo['folderCount'];  // 累加子ဖိုလ်ဒါအရေအတွက်
        $fileCount += $subFolderInfo['fileCount'];    // 累加ဖိုင်အရေအတွက်
        $folderSize += $subFolderInfo['folderSize'];  // 累加ဖိုင်တွဲအရွယ်အစား
    } else {  // ဖိုင်တစ်ခုပါ
        $fileCount++;  // ဖိုင်အရေအတွက်加1
        $folderSize += filesize($filePath);  // ဖိုင်တွဲအရွယ်အစား加上文件大小
    }
}

return [
    'folderCount' => $folderCount,
    'fileCount' => $fileCount,
    'folderSize' => $folderSize
];

}

Code တွင်ကျွန်ုပ်တို့သည်ဖိုလ်ဒါများ, ဖိုင်များနှင့်ဖိုင်တွဲအရွယ်အစားသုညသို့ပထမ ဦး ဆုံးနိမိတ်လက်ခဏာကို ဦး စွာနစ်မြုပ်စေသည်။ ထို့နောက်ဖိုင်တွဲတွင်ဖိုင်တွဲတွင်ဖိုင်များနှင့် subfolders အားလုံးကိုရယူရန်အတွက် `scandir`` function ကိုသုံးပါ။ ထို့နောက်ဖိုင်တစ်ခုစီနှင့်ဖိုင်တွဲတစ်ခုချင်းစီကို ဖြတ်. သူတို့၏အမျိုးအစားများကိုဆုံးဖြတ်ရန်နှင့်သက်ဆိုင်ရာအပြောင်းအလဲများကိုလုပ်ဆောင်ပါ။

ဖိုင်တွဲတစ်ခုဖြစ်ပါက F'TfoldFo ကိုမှတ်ပုံတင်ရန်နှင့်ဖိုင်တွဲ၏ကိန်းဂဏန်းများကိုလက်ရှိဖိုင်တွဲ၏ကိန်းဂဏန်းများကိုထည့်သွင်းရန်ခေါ်ယူပါ။ ၎င်းသည်ဖိုင်တစ်ခုဖြစ်ပါကအရွယ်အစားကိုဖိုင်တွဲ၏အရွယ်အစားကိုတိုက်ရိုက်ထည့်ပါ။

1.2 သတ်မှတ်ထားသောဖိုင်တွဲ၏အချက်အလက်များ၏စာရင်းအင်း

သတ်မှတ်ထားသောဖိုင်တွဲ၏အချက်အလက်များကိုရေတွက်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည် `getfolderinfo function ကိုခေါ်။ ဖိုင်တွဲ၏လမ်းကြောင်းသို့ကူးသွားနိုင်သည်။

 $folderPath = '/path/to/folder';  // ဖိုင်တွဲသို့လမ်းကြောင်းကိုသတ်မှတ်ပါ
$folderInfo = getFolderInfo($folderPath);  // ဖိုင်တွဲအချက်အလက်ကိုရယူပါ
$folderCount = $folderInfo['folderCount'];  // ဖိုလ်ဒါအရေအတွက်
$fileCount = $folderInfo['fileCount'];    // ဖိုင်အရေအတွက်
$folderSize = $folderInfo['folderSize'];  // ဖိုင်တွဲအရွယ်အစား

ဤကုဒ်တွင်ဖိုင်တွဲလမ်းကြောင်းကိုပထမ ဦး စွာသတ်မှတ်ပါ။ ထို့နောက် folder ၏စာရင်းဇယားကိုရယူရန် `getfolderinfo` function ကိုခေါ်ပါ။ နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည်ရလဒ်ကိုသက်ဆိုင်ရာ variable ကိုသိမ်းထားသည်။

2 ။ ဥပမာ

သတ်မှတ်ထားသောဖိုင်တွဲတစ်ခုအတွက်သတင်းအချက်အလက်များကိုတွက်ချက်ရန်အထက်ပါကုဒ်ကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည့်ဥပမာတစ်ခုမှာ -

 $folderPath = '/path/to/folder';  // ဖိုင်တွဲလမ်းကြောင်းကိုသတ်မှတ်ပါ
$folderInfo = getFolderInfo($folderPath);  // ဖိုင်တွဲအချက်အလက်ကိုရယူပါ
$folderCount = $folderInfo['folderCount'];  // ဖိုလ်ဒါအရေအတွက်
$fileCount = $folderInfo['fileCount'];    // ဖိုင်အရေအတွက်
$folderSize = $folderInfo['folderSize'];  // ဖိုင်တွဲအရွယ်အစား
<p>echo "ဖိုလ်ဒါအရေအတွက်:" . $folderCount . "\n";  // 输出ဖိုလ်ဒါအရေအတွက်<br>
echo "ဖိုင်အရေအတွက်:" . $fileCount . "\n";      // 输出ဖိုင်အရေအတွက်<br>
echo "ဖိုင်တွဲအရွယ်အစား:" . $folderSize . " bytes\n";  // စုစုပေါင်း output folder အရွယ်အစား

သင် `/ path / folering's folder's folder ၏သတင်းအချက်အလက်များကိုသင်ရေတွက်လိုပါကကုဒ်ကိုအကောင်အထည်ဖော်ပြီးနောက်အောက်ပါအတိုင်းရလဒ်ကိုရရှိသောရလဒ်ကိုသင်ရရှိလိမ့်မည်ဟုယူဆသည်။

 ဖိုလ်ဒါအရေအတွက်:3
ဖိုင်အရေအတွက်:10
ဖိုင်တွဲအရွယ်အစား:123456789 bytes

output သည် `/ path / folder` folder ၏ဖိုလ်ဒါတွင်ဖိုင်တွဲ (3) ခုပါ 0 င်ပြီး 123456789 bytes ရှိသည်။

3 ။ အကျဉ်းချုပ်

recursive method များနှင့်ဖိုင်စနစ်လုပ်ဆောင်ချက်များအားဖြင့် PHP သည် Folder အသေးစိတ်ကိုတွက်ချက်ရန်အလွန်လွယ်ကူစေသည်။ အထက်ပါကုဒ်များကိုအသုံးပြုခြင်းသည်သတ်မှတ်ထားသောဖိုင်တွဲ၏ဖိုင်များ, ဖိုင်တွဲများနှင့်စုစုပေါင်း folder အရွယ်အစားကိုတိကျစွာရေတွက်နိုင်သည်။ ၎င်းသည်ဖိုင်စီမံခန့်ခွဲမှုနှင့် disk space အသုံးပြုမှုကိုပိုမိုကောင်းမွန်စေရန်အလွန်အထောက်အကူပြုသည်။