လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Code ဖြန့်ကျက်နေစဉ်အတွင်း MD5_File () ကို အသုံးပြု. ဖိုင်ကိုက်ညီမှုကိုမည်သို့အတည်ပြုရမည်နည်း

Code ဖြန့်ကျက်နေစဉ်အတွင်း MD5_File () ကို အသုံးပြု. ဖိုင်ကိုက်ညီမှုကိုမည်သို့အတည်ပြုရမည်နည်း

M66 2025-06-04

0 က်ဘ်ဆိုက်၏အွန်လိုင်းသို့မဟုတ်အသစ်ပြောင်းခြင်းလုပ်ငန်းစဉ်အတွင်းကျွန်ုပ်တို့သည်အချို့သောသော့ဖိုင်များသည်မတော်တဆပြောင်းလဲခြင်းသို့မဟုတ်မတော်တဆပြောင်းလဲခြင်းမရှိသေးကြောင်းသေချာစေရန်လိုအပ်သည်။ PHP သည်အလွန်လက်တွေ့ကျသော function ကိုထောက်ပံ့ပေးသည်

MD5_File () ကဘာလဲ။

MD5_File () သည် PHP ၏ built-in function ဖြစ်သည်။ ၎င်းသည် parameter တစ်ခုအနေဖြင့်ဖိုင်လမ်းကြောင်းတစ်ခုယူပြီးဖိုင်၏ contents ၏ MD5 hash string ကိုပြန်ပို့သည်။ အကယ်. ဖိုင်မတည်ရှိပါသို့မဟုတ်မဖတ်နိုင်ပါက မှားယွင်းစွာ ပြန်လာလိမ့်မည်။

 $hash = md5_file('config.php');
echo $hash;

အထက်ပါကုဒ်သည် Config.php ဖိုင်၏ MD5 တန်ဖိုးကိုထုတ်ပေးလိမ့်မည်။

လျှောက်လွှာဇာတ်လမ်း - ဖိုင်သမာဓိစစ်ဆေးမှုများကိုဖြန့်ဖြူးခြင်း

Code ကိုဖြန့်ချိသောအခါ MD5 တန်ဖိုးကို Advance file တစ်ခုစီကိုကြိုတင်တွက်ချက်နိုင်သည်။ ဒီမှာရိုးရှင်းတဲ့လျှောက်လွှာဥပမာတစ်ခုပါ။

အဆင့် 1: benchmark hash file ကိုထုတ်လုပ်ပါ

ပစ်မှတ်ဖိုင်များ၏ MD5 တန်ဖိုးများကိုမှတ်တမ်းတင်ရန်နေရာချထားခြင်းမပြုမီအောက်ပါ script ကို run သည်။

 $files = [
    'index.php',
    'config.php',
    'lib/functions.php',
];

$hashes = [];

foreach ($files as $file) {
    if (file_exists($file)) {
        $hashes[$file] = md5_file($file);
    }
}

file_put_contents('file_hashes.json', json_encode($hashes, JSON_PRETTY_PRINT));

ဤ script သည်ဖိုင်များအားလုံး၏ hash တန်ဖိုးများကိုမှတ်တမ်းတင်ထားသော File_hashes.json ဖိုင်ကိုထုတ်ပေးလိမ့်မည်။

အဆင့် 2. ဖိုင်ကိုဖြန့်ကျက်ပြီးနောက်ဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းရှိမရှိစစ်ဆေးပါ

ဖြန့်ကျက်မှုပြီးပြည့်စုံပြီးသည့်နောက်တွင်လက်ရှိဖိုင်၏ MD5 တန်ဖိုးသည်မူရင်းနှင့်ကိုက်ညီမှုရှိမရှိအခြား script တစ်ခုကို run နိုင်သည်။

 $hashes = json_decode(file_get_contents('file_hashes.json'), true);

foreach ($hashes as $file => $originalHash) {
    if (!file_exists($file)) {
        echo "ဖိုင်မတည်ရှိပါဘူး:$file\n";
        continue;
    }

    $currentHash = md5_file($file);
    if ($currentHash !== $originalHash) {
        echo "ဖိုင်ကိုပြုပြင်ပြီးပြီ:$file\n";
        echo "ခြားနားချက်ကိုကြည့်ပါ:https://m66.net/diff-viewer?file=" . urlencode($file) . "\n";
    } else {
        echo "ဖိုင်မပြောင်းလဲပါ:$file\n";
    }
}

၎င်းသည်ကုဒ်သည်နေရာချထားပြီးနောက်ကုဒ်များသည်ဖြန့်ကျက်ပြီးနောက်တွင်နဂိုအတိုင်းရှိနေဆဲဖြစ်သည်ဟုကျွန်ုပ်တို့အားထိရောက်စွာကူညီနိုင်သည်။

အကြံပေးချက်များ

  • MD5_File () သည်သေးငယ်သောဖိုင်များကိုမြန်မြန်ဆန်ဆန်စစ်ဆေးခြင်းအတွက်အကောင်းဆုံးဖြစ်သည်, သို့သော်ကြီးမားသောဖိုင်များအတွက်မူ,

  • ကျေးဇူးပြု. File_hashes.json ဖိုင်ကိုဖုံးအုပ်ထားခြင်းမရှိသေးကြောင်းသေချာအောင်လုပ်ပါ။ ၎င်းကိုစနစ်သော့ခတ်ခြင်းသို့မဟုတ်ထပ်တူပြုခြင်းစနစ်များကိုဖြန့်ကျက်ခြင်းဖြင့်ကာကွယ်နိုင်သည်။

  • အကယ်. သင်သည် CI / CD tools များကိုအလိုအလျောက်ဖြန့်ကျက်မှုဖြစ်စဉ်တစ်ခုတွင်အသုံးပြုပါကဤနှိုင်းယှဉ်ချက် script ကိုပိုက်လိုင်းထဲသို့သင်ပေါင်းစပ်နိုင်သည်။

ကောက်ချက်

MD5_File () တွင်ဖြန့်ကျက်မှုလုပ်ငန်းစဉ်အတွင်းဖိုင်ပေါင်းစည်းမှုစစ်ဆေးမှုကိုလျင်မြန်စွာနှင့်ထိရောက်စွာနားလည်နိုင်ပြီးဖြန့်ကျက်ခြင်းအရည်အသွေးနှင့်စနစ်လုံခြုံရေးတိုးမြှင့်ခြင်းတို့တိုးတက်လာသည်။ စဉ်ဆက်မပြတ်အသစ်ပြောင်းခြင်းများနှင့်ကြားကာလများဖြစ်စဉ်တွင်ထိုကဲ့သို့သောကိရိယာများသည်အထူးအရေးကြီးသည်။