လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> php file တွင်မဖွင့်နိုင်သည့်အမှားများအတွက်ဖြေရှင်းနည်းများနှင့်ဘုံအကြောင်းပြချက်များခွဲခြမ်းစိတ်ဖြာခြင်း

php file တွင်မဖွင့်နိုင်သည့်အမှားများအတွက်ဖြေရှင်းနည်းများနှင့်ဘုံအကြောင်းပြချက်များခွဲခြမ်းစိတ်ဖြာခြင်း

gitbox 2025-06-15

1 ။ ပြ problem နာဖော်ပြချက်

PHP ကိုအသုံးပြုပြီးပရိုဂရမ်များပြုလုပ်သောအခါသင်သည် "ဖိုင်များကိုဖွင့ ်. မရပါ" ဟူသောအမှားအယွင်းများကိုသင်မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဥပမာအားဖြင့်:

 
Warning: fopen(test.txt): failed to open stream: No such file or directory in /www/test.php on line 5
        

ဤအမှားကဤပရိုဂရမ်သည်ဖိုင်တစ်ခုကိုဖွင့်ရန်ကြိုးစားသောအခါဖိုင်သည်မတည်ရှိပါသို့မဟုတ်လမ်းကြောင်းသည်မှားကြောင်းတွေ့ရှိရသည်။ ဤပြ problem နာကိုဖြေရှင်းခြင်းသည်ပုံမှန်အားဖြင့်ပုံမှန်လည်ပတ်ကြောင်းသေချာစေရန်အလွန်အရေးကြီးသည်။

2 ။ ဖြစ်နိုင်သောအကြောင်းရင်းများ

အဓိကအားဖြင့်အောက်ပါအပါအ 0 င် "file ကိုဖွင့်ရန်မအောင်မြင်ပါ" အမှားအတွက်အကြောင်းပြချက်များစွာရှိသည်။

2.1 ။ ဖိုင်မရှိပါသို့မဟုတ်လမ်းကြောင်းမှားသည်

အကယ်. သတ်မှတ်ထားသောဖိုင်မရှိပါကဖိုင်လမ်းကြောင်းသည်မမှန်ကန်ပါက PHP သည်ဖိုင်ကိုဖွင့ ်. မရပါကအမှားတစ်ခုကိုသတင်းပို့လိမ့်မည်။ အများအားဖြင့်အမှားအယွင်းများသည်မှန်ကန်စွာမကွဲစေသည့်လမ်းကြောင်းများကြောင့်ဖြစ်ရခြင်းသို့မဟုတ်ဖိုင်များကိုမှားယွင်းစွာမဖျက်နိုင်ပါ။

2.2 ။ မလုံလောက်ဖိုင်ခွင့်ပြုချက်

ထိုဖိုင်၏ခွင့်ပြုချက်များကိုထိုအချိန်ကမသတ်မှတ်ထားသည့်အခါအစီအစဉ်တွင်ဖိုင်ကိုဖတ်ရန်နှင့်ရေးသားရန်ခွင့်ပြုချက်အလုံအလောက်မရှိပါ။ ၎င်းသည်များသောအားဖြင့်တိကျသောခွင့်ပြုချက်လိုအပ်သည့်ဖိုင်များတွင်ဖြစ်ပျက်သည်။

2.3 ။ ဖိုင်များသိမ်းပိုက်နေကြသည်

အကယ်. ဖိုင်ကိုအခြားဖြစ်စဉ်များက (ဥပမာအခြားပရိုဂရမ်များကသိမ်းပိုက်ထားသော) မှအသုံးပြုသည်ဆိုပါကဖိုင်ကိုဖွင့်ရန်ကြိုးစားသောအခါလည်းပျက်ကွက်လိမ့်မည်။ ဖိုင်တစ်ခုသော့ခတ်ထားသည့်အခါသို့မဟုတ်ဖိုင်တစ်ခုစီကိုရေးထားသည့်အခါဤပြ problem နာသည်များသောအားဖြင့်ဖြစ်သည်။

3 ။ ဖြေရှင်းနည်း

အကြောင်းပြချက်အမျိုးမျိုးကြောင့်ကျွန်ုပ်တို့သည်အောက်ပါဖြေရှင်းနည်းများကိုလက်ခံနိုင်သည်။

3.1 ။ ဖိုင်လမ်းကြောင်းမှန်ကိုအတည်ပြုပါ

ပထမ ဦး စွာဖိုင်လမ်းကြောင်းသည်မှန်ကန်သည်ကိုစစ်ဆေး။ ဖိုင်တည်ရှိကြောင်းသေချာပါစေ။ ကျွန်ုပ်တို့သည် PHP ၏ File_exists () နှင့် is_readable () functions များကိုသုံးနိုင်သည်။ ဖိုင်သည်တည်ရှိပြီးဖတ်နိုင်သည်ကိုဆုံးဖြတ်ရန်

 
$file = 'test.txt';
$path = '/var/www/html/';
$full_path = $path . $file;
if (!file_exists($full_path)) {
    die("File not exists!");
}
if (!is_readable($full_path)) {
    die("File is not readable!");
}
$handle = fopen($full_path, 'r');
        

အထက်ပါကုဒ်သည်ဖိုင်အမည်နှင့်လမ်းကြောင်းကိုပထမ ဦး စွာသတ်မှတ်ပြီးဖိုင်အပြည့်အစုံကိုဖြည့်ဆည်းပေးပြီးဖိုင်သည်တည်ရှိပြီးဖတ်နိုင်သည်

3.2 ။ ဖိုင်ခွင့်ပြုချက်ကိုအတည်ပြုပါ

အကယ်. ဖိုင်တည်ရှိပြီးဖတ်နိုင်သည်ဆိုပါကဖိုင်ကိုဖွင့ ်. မရပါကဖိုင်၏ခွင့်ပြုချက် settings ကိုအတည်ပြုရန်လိုအပ်သည်။ ဖိုင်ခွင့်ပြုချက်ကိုပြုပြင်ရန် chmod command ကိုသုံးနိုင်သည်။ အသုံးများသောခွင့်ပြုချက်များသည် 755 ကိုသတ်မှတ်ထားသည်။ ဆိုလိုသည်မှာဖိုင်သည်ဖတ်နိုင်,

 
chmod 755 /path/to/file.txt
        

3.3 ။ ဖိုင်ကိုသိမ်းပိုက်မလားဆိုတာအတည်ပြုပါ

အကယ်. ဖိုင်သည်ဖွင့်ရန်ပျက်ကွက်ပါကဖိုင်ကိုအခြားပရိုဂရမ်များကသိမ်းပိုက်သောကြောင့်ဖြစ်နိုင်သည်။ ဤကိစ္စတွင်ဖိုင်ကိုသိမ်းပိုက်ထားခြင်းရှိမရှိစစ်ဆေးရန် Operating System ၏ကိရိယာများကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:

  • Linux တွင်ဖိုင်များကိုသိမ်းပိုက်သည့်လုပ်ငန်းစဉ်များကိုရှာဖွေရန် fuser command ကိုသုံးနိုင်သည်။
  • ဖိုင်တွဲများကိုသိမ်းပိုက်ထားသောပရိုဂရမ်များကိုကြည့်ရှုရန် Task Manager သို့မဟုတ် Process Manager Manager ကိုသုံးပါ။

ဖိုင်ကိုသိမ်းပိုက်ထားသောလုပ်ငန်းစဉ်ကိုရှာဖွေပြီးနောက်ကျွန်ုပ်တို့သည်လုပ်ငန်းစဉ်ကိုအဆုံးသတ်ရန်သို့မဟုတ်၎င်းကိုမကြည့်မီဖိုင်စစ်ဆင်ရေးကိုဖြည့်ရန်စောင့်ဆိုင်းနိုင်သည်။

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

"ဖိုင်ကိုဖွင့ ်. မရပါ" အမှားသည် PHP တွင်ဘုံပြ problem နာဖြစ်သည်။ ၎င်းသည်များသောအားဖြင့်ဖိုင်လမ်းကြောင်း, ဖိုင်ခွင့်ပြုချက်များနှင့်ဖိုင်ကိုသိမ်းပိုက်ထားခြင်းအားဖြင့်၎င်းကိုစစ်ဆေးပြီးဖြေရှင်းနိုင်သည်။ ကောင်းမွန်သောဖိုင်စီမံခန့်ခွဲမှုအကျင့်များကိုထိန်းသိမ်းခြင်းနှင့်မှန်ကန်သောဖိုင်လမ်းကြောင်းနှင့်သင့်တော်သောခွင့်ပြုချက်များကိုသေချာစေရန်နှင့်သင့်လျော်သောခွင့်ပြုချက်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။