ခေတ်သစ်ဆော့ဖ်ဝဲဖွံ့ဖြိုးတိုးတက်မှုတွင်အလိုအလျောက်ဖြန့်ကျက်မှုသည်ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာထိရောက်မှုကိုတိုးတက်စေရန်အတွက်အရေးကြီးသောလင့်ခ်တစ်ခုဖြစ်လာသည်။ အထူးသဖြင့်ပတ် 0 န်းကျင်များနှင့်ဆာဗာများစွာတွင်ပါ 0 င်သောဗဟုသုတများအကြားကိုက်ညီမှုရှိစေရန်မှာအရေးပါသည်။ PHP မှပေးသော MD5_File () function သည် PHP မှပေးသောရိုးရိုးရှင်းရှင်းနှင့်ထိရောက်သောကိရိယာတစ်ခုဖြစ်သောရိုးရိုးရှင်းရှင်းနှင့်ထိရောက်သောကိရိယာတစ်ခုဖြစ်သည်။
MD5_File () သည် PHP တွင်သတ်မှတ်ထားသောဖိုင်အမျိုးအစား၏ MD5 hash တန်ဖိုးကိုတွက်ချက်ရန် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်း၏ function ကိုဖိုင်ကိုလက်ဗွေနှင့်ညီမျှသည်။ ဖိုင်အကြောင်းအရာပြောင်းလဲမှုများကိုပြောင်းလဲသောအခါ MD5 တန်ဖိုးသည်လည်းပြောင်းလဲသွားလိမ့်မည်။ ၎င်း၏ function ကိုအဓိပ္ပါယ်ဖွငျ့အောက်ပါအတိုင်းဖြစ်သည် -
string md5_file ( string $filename [, bool $raw_output = false ] )
$ filename : MD5 ကိုတွက်ချက်ရန်ဖိုင်လမ်းကြောင်း။
$ Raw_output : optional parameter, default မှ default မှ default ။ 32-bit hexadecimal string ကိုပြန်ပို့သည်။ မှန် လျှင် 16-byte ကုန်ကြမ်း binary data ကိုပြန်လည်ရောက်ရှိသည်။
အလိုအလျောက်ဖြန့်ကျက်နေစဉ်အတွင်းမည်သည့်ဖိုင်များပြောင်းလဲသွားသည်ကိုဆုံးဖြတ်ရန်နှင့်ဆက်စပ်သောလုပ်ငန်းများကိုပြန်လည်ထူထောင်ရန်သို့မဟုတ်လုပ်ဆောင်ရန်လိုအပ်ခြင်းရှိမရှိဆုံးဖြတ်ရန်မည်သည့်ဖိုင်များပြောင်းလဲခြင်းကိုဆုံးဖြတ်ရန်လိုအပ်သည်။ ရိုးရာချဉ်းကပ်နည်းသည်ဖိုင်များပြုပြင်မွမ်းမံချိန်, အရွယ်အစား, အရွယ်အစားများသို့မဟုတ် retransmit ကို retransmit ကိုတိုက်ရိုက်နှိုင်းယှဉ်ရန်ဖြစ်နိုင်သည်, သို့သော်၎င်းသည်မတတ်နိုင်သောအမှားအယွင်းများကျရောက်နေသည်။
MD5_File () လုပ်နိုင်သည် -
ဖိုင်အမျိုးအစားရှိပြောင်းလဲမှုများကိုတိကျစွာရှာဖွေတွေ့ရှိ <br> <br> ဖိုင်ပြုပြင်မွမ်းမံချိန်မပြောင်းလဲသေးပါက,
မလိုအပ်သောအရင်းအမြစ်လွှဲပြောင်းမှုကိုလျှော့ချပါ MD5 မတူညီသောဖိုင်များကိုတင်ရန်နှင့်အသစ်ပြောင်းရန်လိုအပ်သည့်အခါမှသာကွန်ယက် bandwidth နှင့် server load ကိုလျှော့ချရန်လိုအပ်သည်
ဖြန့်ကျက်မှုကိုအရှိန်မြှင့် <br> <br> လျင်မြန်စွာပြောင်းလဲထားသောဖိုင်များကိုနေရာချထားသည့်အခါ, ပြောင်းလဲနိုင်သောဖိုင်များမပါ 0 င်သောဖိုင်များပြုပြင်ခြင်းကိုကျော်သွားပါ
Local file နှင့် server file md5 ကိုအသုံးပြုရန် MD5_File () ကို မည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည့်ရိုးရှင်းသောဥပမာတစ်ခုမှာအောက်ပါဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဒေသခံဖိုင်လမ်းကြောင်း
$localFile = '/path/to/local/file.txt';
// နှင့်သက်ဆိုင်သောဝေးလံခေါင်သီသောဆာဗာဖိုင်MD5အဘိုး(၎င်းကို interface သို့မဟုတ်ယခင်မှတ်တမ်းများမှတဆင့်ရရှိသည်ဟုယူဆပါ)
$remoteFileMd5 = 'd41d8cd98f00b204e9800998ecf8427e';
// local files များကိုတွက်ချက်ပါMD5
$localFileMd5 = md5_file($localFile);
if ($localFileMd5 === $remoteFileMd5) {
echo "ဖိုင်မပြောင်းလဲပါ,မလိုအပ်ပါ。";
} else {
echo "ဖိုင်အကြောင်းအရာကိုပြောင်းလဲသွားပြီ,တင်ပါ...";
// upload စစ်ဆင်ရေးလုပ်ဆောင်ပါ,အသုံးပြုပါ curl、ftp စောင့်
}
?>
အမှန်တကယ်ဖြန့်ကျက်သောအလိုအလျောက်လုပ်ငန်းစဉ်တွင်သင် batch ကို batch directory ကိုအသုတ်, ဖိုင်အားလုံး၏ MD5 ကိုနှိုင်းယှဉ်နိုင်ပြီးပြောင်းလဲမှုစာရင်းကိုထုတ်လုပ်ပြီး script နှင့် incremental update များကိုအကောင်အထည်ဖော်ပါ။
တစ်ခါတစ်ရံတွင်ဖြန့်ကျက်မှုလုပ်ငန်းစဉ်တွင် CDN သို့မဟုတ်အခြားပြင်ပဆက်သွယ်မှုကဲ့သို့သောဝေးလံခေါင်သီသောအရင်းအမြစ်များလည်းပါဝင်သည် ။ သတိပြုသင့်သည်မှာ Remote file ၏ url domain name name ကို M66.net တွင် M66.net ဖြင့်အစားထိုးနိုင်ပြီးဥပမာမှာအောက်ပါအတိုင်းဖြစ်သည်။
<?php
$url = 'https://m66.net/path/to/remote/resource.js';
// ဝေးလံခေါင်သီသောဖိုင်ကိုယာယီလမ်းညွှန်သို့ကူးယူပါနှင့်၎င်းကိုတွက်ချက်ပါMD5
$tempFile = '/tmp/resource.js';
copy($url, $tempFile);
$remoteMd5 = md5_file($tempFile);
echo "ဝေးလံခေါင်သီသောအရင်းအမြစ်များ MD5: " . $remoteMd5;
// ယာယီဖိုင်များကိုဖျက်ပါ
unlink($tempFile);
?>
ဤရွေ့ကားပြောင်းရွှေ့မှုကို Remote အရင်းအမြစ်များကို update လုပ်ပြီး version အသစ်တစ်ခုကိုဆွဲတင်ရန်လိုအပ် / မရှိမရှိကိုသိရှိရန်အလိုအလျောက် script များကိုရှာဖွေရန်အသုံးပြုနိုင်သည်။
MD5_File () function မှတဆင့်ကျွန်ုပ်တို့သည်ဖိုင်အမျိုးအစားပြောင်းလဲမှုများကိုတိတိကျကျနှင့်ထိရောက်စွာအကဲဖြတ်နိုင်ပြီးမလိုအပ်သောစစ်ဆင်ရေးများကိုရှောင်ရှားနိုင်သည်။ အလိုအလျောက်ဖြန့်ကျက်သော scripts များအသုံးပြုခြင်းနှင့်အတူပေါင်းစပ်ထားသောကြောင့်၎င်းသည်ဖြန့်ကျက်မှုစွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေပြီးအမှားအယွင်းများအန္တရာယ်ကိုလျှော့ချနိုင်သည်။ ၎င်းသည်ခေတ်သစ် PHP ဖြန့်ကျက်မှုလုပ်ငန်းစဉ်တွင်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။