PHP တွင် MD5_File function ကိုသတ်မှတ်ထားသောဖိုင်၏ MD5 hash တန်ဖိုးကိုတွက်ချက်ရန်အသုံးပြုသည်။ ၎င်းကို file contality sideification အတွက်အသုံးပြုသည်။ သို့သော်တစ်ခါတစ်ရံဖိုင်လမ်းကြောင်းသည်အဆင်ပြေလျှင်ပင် MD5_File သည် ကောင်းမွန်စွာအလုပ်လုပ်နေတုန်း, မှားယွင်းသော သို့မဟုတ်အချည်းနှီးသောတန်ဖိုးကိုပြန်ပို့သည်။ ဒီအခြေအနေရှုပ်ထွေးနိုင်ပါတယ်။ ဤဆောင်းပါးသည်သင့်အားပြ problems နာများကိုဖြေရှင်းရန်နှင့်ဖြေရှင်းရန်ကူညီရန်အသေးစိတ်စုံစမ်းစစ်ဆေးရေးအတွေးအခေါ်များကိုမိတ်ဆက်ပေးလိမ့်မည်။
လမ်းကြောင်းကအဆင်ပြေသည်ဟုသင်ထင်သော်လည်းအတည်ပြုရန်အောက်ပါနည်းလမ်းများကိုအသုံးပြုရန်အကြံပြုသည်။
<?php
$file = '/path/to/your/file.txt';
if (file_exists($file)) {
echo "ဖိုင်တည်ရှိသည်";
} else {
echo "ဖိုင်မတည်ရှိပါဘူး";
}
?>
File_exists မှားယွင်းသောပြန်လာလျှင်၎င်းသည်လမ်းကြောင်းပြ problem နာရှိနေသေးသည်ဟုဆိုလိုသည်။ သတိပြုရန်:
လမ်းကြောင်းအကြွင်းမဲ့လား မှန်ကန်သောအလုပ်လုပ် directory အပေါ်အခြေခံပြီးဆွေမျိုးလမ်းကြောင်းများရှိပါသလား။
လမ်းကြောင်းသည်တရုတ်သို့မဟုတ်အထူးအက္ခရာများရှိသလော။ ၎င်းသည်ပျက်ကွက်မှုအားဖြေရှင်းရန်လမ်းကြောင်းကိုဖြစ်စေနိုင်သည်။
လမ်းကြောင်း၏အမှန်တကယ်တည်နေရာကိုအတည်ပြုရန် realappath () function ကိုသုံးပါ။
<?php
echo realpath('/path/to/your/file.txt');
?>
အကယ်. ဖိုင်တည်ရှိနေလျှင်ပင် MD5_File သည် PHP Run အသုံးပြုသူသည်ခွင့်ပြုချက်မဖတ်ပါကပျက်ကွက်လိမ့်မည်။ ခွင့်ပြုချက်စစ်ဆေးမှုကိုစစ်ဆေးပါ။
Linux လက်အောက်တွင် LS-L ကိုအသုံးပြုပါ PHP အသုံးပြုသူများသည် PHP အသုံးပြုသူများကိုခွင့်ပြုချက်ကိုဖတ်ရှုရန်ခွင့်ပြုချက်ကိုဖတ်ရှုရန်အတည်ပြုရန်ဖိုင်ခွင့်ပြုချက်များကိုကြည့်ရှုရန် LS -l ကို သုံးပါ။
PHP တွင်ဖိုင်များကိုဖတ်နိုင်မနိုင်,
<?php
$file = '/path/to/your/file.txt';
$content = @file_get_contents($file);
if ($content === false) {
echo "ဖိုင်ကိုမဖတ်နိုင်ပါ,ကျေးဇူးပြု. ခွင့်ပြုချက်စစ်ဆေးပါ";
} else {
echo "ဖိုင်ဖတ်လို့ရပါ";
}
?>
PHP configurations အချို့သည် File Access ကိုကန့်သတ်နိုင်သည် -
open_basedir ကန့်သတ်ချက် - Enable လုပ်ထားရင် PHP ဟာသတ်မှတ်ထားသောလမ်းညွှန်ကိုသာ 0 င်ရောက်နိုင်ပြီး၎င်းသည်နယ်ပယ်မှထွက်ပေါ်လျှင်ပျက်ကွက်လိမ့်မည်။ Open_basedir ချိန်ညှိချက်များကိုကြည့်ရှုရန် Phpinfo () ကို သုံးနိုင်သည်။
Safe_Mode (PHP version): ဖိုင်အိတ်ကိုကန့်သတ်ထားသည်။
ဖိုင်လမ်းကြောင်းသည်ခွင့်ပြုထားသောအကွာအဝေးအတွင်းရှိသေချာအောင်လုပ်ပါ။
ရှားရှားပါးပါးဖြစ်ရပ်များတွင်ဖိုင်တစ်ဖိုင်သည်အခြားလုပ်ငန်းစဉ်တစ်ခုကသော့ခတ်ထားခြင်းသို့မဟုတ်ရေးသားခြင်းခံရလျှင်၎င်းသည်ပျက်ကွက်မှုကိုဖတ်ရှုနိုင်သည်။ သင်နေရာနေဆဲဖြစ်စဉ်ကိုပိတ်ရန်သို့မဟုတ်နောက်မှထပ်ကြိုးစားရန်ကြိုးစားနိုင်ပါတယ်။
အစွန်းရောက်သို့မဟုတ်အထူးပုံစံဖိုင်များသည်အဆန်းမဟုတ်သော်လည်း MD5_File ကို ကျရှုံးစေနိုင်သည်။ သင်သည်အခြားသေးငယ်သောဖိုင်များနှင့် ပတ်သက်. စမ်းသပ်မှုများကိုအရင်လျှောက်လှမ်းနိုင်သည်။
<?php
echo md5_file('/path/to/smallfile.txt');
?>
ဖိုင်ငယ်သည်ပုံမှန်ဖြစ်ပါကပြ problem နာသည်ဖိုင်နှင့်အတူဖြစ်နိုင်သည်။
ဆက်စပ်သောအမှားသတိပေးချက်များရှိမရှိကြည့်ရန်အမှားအယွင်းများကိုဖွင့်ပါ။
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$file = '/path/to/your/file.txt';
$result = md5_file($file);
if ($result === false) {
echo "တွက်ချက်မှုပျက်ကွက်,ဖိုင်ကိုလက်လှမ်းမမီနိုင်ပါ";
} else {
echo "MD5: $result";
}
?>
အကယ်. MD5_File သည် အချိန်မရွေးအလုပ်မလုပ်ပါကဖိုင်ပါအကြောင်းအရာများကိုကိုယ်တိုင်ဖတ်ပြီးအောင်မြင်မှုရှိမရှိကြည့်ရန် MD5 တွက်ချက်မှုများကိုကိုယ်တိုင်ဖတ်ရှုနိုင်သည်။
<?php
$file = '/path/to/your/file.txt';
$content = @file_get_contents($file);
if ($content === false) {
echo "ဖတ်ရန်မအောင်မြင်ပါ";
} else {
echo md5($content);
}
?>
အကယ်. ဤအောင်မြင်မှုသည်အောင်မြင်ပါက MD5_File တွင်ပြ a နာတစ်ခုရှိသည်။ ၎င်းသည် IO သို့မဟုတ်ခွင့်ပြုချက်ကြောင့်ဖြစ်နိုင်သည်။
<?php
$file = '/path/to/your/file.txt';
if (!file_exists($file)) {
die("ဖိုင်မတည်ရှိပါဘူး");
}
if (!is_readable($file)) {
die("ဖိုင်မဖတ်နိုင်သောဖိုင်မရှိပါ");
}
$md5 = md5_file($file);
if ($md5 === false) {
die("md5_file တွက်ချက်မှုပျက်ကွက်");
}
echo "စာချုပ်စာတမ်း $file ၏ MD5 တန်ဖိုး:$md5";
?>
MD5_File သည် အဝေးမှဖိုင်များကို URL မှတစ်ဆင့်လက်လှမ်းမီမှုကိုအထောက်အကူပြုသည် ။ သင်ကဲ့သို့သောအရာတစ်ခုခုကိုသုံးပါက
<?php
echo md5_file('http://m66.net/path/to/file');
?>
သေချာစေရန်လိုအပ်သည်:
PHP Configuration တွင် Allow_URL_FOPEN ကို ဖွင့်ထားသည်။
ဝေးလံခေါင်သီသောဆာဗာသည်ပုံမှန်အားဖြင့်တုံ့ပြန်သည်။
ကွန်ယက်ချိတ်ဆက်မှုသည်ပုံမှန်ဖြစ်သည်။
ဒီလိုမှမဟုတ်ရင်အဲဒါကပျက်ကွက်ပြန်လာလိမ့်မယ်။