PHP တွင် MD5_File () သည်ဖိုင်တစ်ခု၏ MD5 hash တန်ဖိုးကိုတွက်ချက်ရန်အလွန်လက်တွေ့လုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
md5_file(string $filename, bool $binary = false): string|false
ဤလုပ်ဆောင်ချက်သည်ဖိုင်လမ်းကြောင်းတစ်ခုအနေဖြင့်အငြင်းပွားမှုတစ်ခုအဖြစ်ယူပြီးဖိုင်၏ MD5 checksum ကိုပြန်ပို့သည်။ သို့သော် developer များစွာသည် MD5_File () ကို အသုံးပြုသည့်အခါ မှားယွင်းသော အခြေအနေများနှင့်ကြုံတွေ့ရမည့်အခြေအနေများနှင့်ကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ဤအခြေအနေကိုရှုထောင့်မျိုးစုံမှဖြစ်ပေါ်စေသည့်အကြောင်းရင်းများကိုဆန်းစစ်ပါလိမ့်မည်။
ဒါကအသုံးအများဆုံးအကြောင်းပြချက်တစ်ခုပါ။ အကယ် . ပေးထားသောဖိုင်လမ်းကြောင်း သည် မမှန်ကန်ပါက၎င်းသည်စာတို, လမ်းကြောင်းပုံစံတစ်ခုဖြစ်သည်ဖြစ်စေ,
ဥပမာ -
$hash = md5_file('/path/to/nonexistent/file.txt');
ဤနေရာတွင် File.txt မရှိပါကသို့မဟုတ်လမ်းကြောင်းမှားယွင်းစွာစာလုံးပေါင်းသည်, မှားယွင်းစွာ ပြန်ပို့လိမ့်မည်။
ဖိုင်လမ်းကြောင်းသည်မှန်ကန်လျှင်ပင် MD5_File () အသုံးပြုသူသည် PHP script ည့်သည်ဖိုင်ကိုဖတ်ရန်ခွင့်ပြုချက်မရှိပါက MD5_File (များသောအားဖြင့် ဝက်ဘ် ဆာဗာအသုံးပြုသူ) သည် မှားယွင်းစွာ ပြန်ပို့သည်။
ဖြေရှင်းချက် -
File Permissions (သို့) သင်ပိုင်သောအသုံးပြုသူကိုပြောင်းလဲခြင်းဖြင့် PHP သည်ဖိုင်ကိုဖတ်ရှုရန်လုံလောက်သောခွင့်ပြုချက်ရှိသည်ကိုသေချာအောင်လုပ်နိုင်သည်။
chmod 644 /path/to/file.txt
chown www-data:www-data /path/to/file.txt
အချို့သော operating systems နှင့် file systems များသည်အခြားပရိုဂရမ်များကရေးသားသောအခါသို့မဟုတ်သော့ခတ်ထားသည့်အခါဖိုင်ကိုဖတ်ရှုခြင်းမှအခြားပရိုဂရမ်များကိုကန့်သတ်ထားသည်။ ဤကိစ္စတွင် MD5_File () သည် ဖိုင်ကိုဖတ်ရန်ကြိုးစားသည်ဆိုပါက၎င်းသည် မှားယွင်းသော ပြန်လာလိမ့်မည်။
ဥပမာ -
ဥပမာအားဖြင့်, FTP မှတင်ထားသောသို့မဟုတ်အခြား script သို့တင်ထားသောဖိုင်ကို PHP သည်ပျက်ကွက်မှုပြ issues နာများကိုကြုံတွေ့ရနိုင်သည်။
PHP's MD5_File () url ကို အသုံးပြု. url ကို parameter ကို အသုံးပြု. Parameter ကို အသုံးပြု. Parameter ကို အသုံးပြုသည်။ တကယ်တော့ဒီနည်းလမ်းဟာအမှားအယွင်းများကိုမှားယွင်းနေသည်။
ဥပမာ -
$hash = md5_file('https://m66.net/uploads/example.zip');
Allow_URL_FOPEN ကိုဖွ င့် မယ်ဆိုရင်ဒီကုဒ်ကအောင်မြင်စွာပြေးနိုင်တယ်။ ဒီလိုမှမဟုတ်ရင် မှားယွင်းတဲ့ ပြန်လာလိမ့်မည်။
အောက်ပါနည်းလမ်းကို အသုံးပြု. code တွင် code တွင် code တွင်အတည်ပြုနိုင်သည်။
if (!ini_get('allow_url_fopen')) {
echo "Remote ဖိုင်တွဲလည်ပတ်မှု function ကိုဖွင့ ်. မရပါ";
}
အကြံပြုချက် - ဝေးလံခေါင်သီသော URLs များကိုမှီခိုခြင်းမပြုပါနှင့်။ local_get_contentents () ကိုဒေါင်းလုဒ် () ကိုဒေါင်းလုဒ် () ကိုဒေါင်းလုပ်ဆွဲရန်ပိုမိုလုံခြုံလိမ့်မည်။ ထို့နောက် MD5_File () ကို သုံးပါ။
MD5_File () သည် အချည်းနှီးသောဖိုင်များကိုတစ်ခါတစ်ရံတွင်ဖိုင်များကိုဖြတ်နိုင်သည်။ ၎င်းသည်ပုံမှန်မဟုတ်သော်လည်းဖိုင်အခြေအနေကို ဖိုင်များ () သို့မဟုတ် fopen () + ) ကိုကိုယ်တိုင်ရှာဖွေတွေ့ရှိနိုင်သည်။
ဖိုင်လမ်းကြောင်းတွင် UTF-8 အက္ခရာများ (အထူးသဖြင့် 0 င်းဒိုးစနစ်များပေါ်တွင်) သို့မဟုတ်အသုံးပြုသူမှတင်ထားသောနံပါတ် (ဥပမာတရုတ်များ, နေရာများသို့မဟုတ်အထူးသင်္ကေတများကဲ့သို့သော path ကိုတည်ဆောက်သည့်အခါသို့မဟုတ်လမ်းကြောင်းကိုမှားယွင်းစွာခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
ဥပမာ -
$hash = md5_file('/var/www/uploads/စာချုပ်စာတမ်းA.txt'); // Path encoding ကိုက်ညီမှုဖြစ်နိုင်သည်
ဤပြ problems နာများကိုကျော်လွှားရန် realappath () ကို အသုံးပြုခြင်းသည်ကောင်းသောနည်းလမ်းဖြစ်သည်။
$path = realpath('/var/www/uploads/စာချုပ်စာတမ်းA.txt');
$hash = md5_file($path);
Move_UPLOADED_File () , tmpfile ()) , သို့မဟုတ်အချို့သောအလိုအလျောက်ထုတ်လုပ်ထားသောယာယီလမ်းကြောင်းဖိုင်များကိုအသုံးပြုသောအခါဤဖိုင်များကိုဖျက်ပစ်ခြင်း, ပြောင်းရွှေ့နေစဉ်အတွင်း၎င်းတို့၏တစ်သက်တာလုံး ကို ဖျက်ပစ်ခြင်း, ပြောင်းရွှေ့ခြင်း,