PHP တွင်ဖိုင်များကိုစီမံခန့်ခွဲသည့်အခါ developer များကြုံတွေ့ရသည့်ဘုံပြ issues နာများဖြစ်သည်။ အထူးသဖြင့်ဖိုင်၏အကြောင်းအရာများကိုသင်ပြုပြင်ရန်လိုအပ်သည့်အခါဖိုင်၏ခွင့်ပြုချက်သည်ရေးရန်ခွင့်ပြုသည်ကိုအတည်ပြုရန်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် Chown နှင့် IS_WRITTTITTTITET လုပ်ဆောင်မှုများကိုမည်သို့ပေါင်းစပ်ရမည်,
Chown : ဖိုင်တစ်ခုသို့မဟုတ် directory ပိုင်ရှင်ကိုပြောင်းလဲပါ။ ဤလုပ်ဆောင်ချက်သည် PHP script တွင်လုံလောက်သောခွင့်ပြုချက် (များသောအားဖြင့် root သို့မဟုတ် for root သို့မဟုတ်ပိုင်ဆိုင်သောအသုံးပြုသူ) ကိုအောင်မြင်စွာကွပ်မျက်ခံရရန်လိုအပ်သည်။
is_wratent - ဖိုင်တစ်ခုသို့မဟုတ်လမ်းညွှန်သည်ရေးသား။ ဖြစ်စေဆုံးဖြတ်သည်။ Boolean Value ကိုပြန်ပို့ပါ, စစ်မှန်တဲ့ wraced လို့ရတယ်, မှားယွင်းတဲ့ အဓိပ္ပာယ်ကိုဆိုလိုတာမဟုတ်ဘူး။
ဖိုင်တည်ရှိခြင်းရှိမရှိဆုံးဖြတ်ရန် - အမှားအယွင်းများဖြစ်ပေါ်စေမည့်ဖိုင်ကိုမလုပ်ဆောင်ပါနှင့်။
ဖိုင်သည်အရေးအကြီးဆုံးသောဟုတ်မဟုတ်စစ်ဆေးပါ ။ ၎င်းသည်ခွင့်ပြုချက်ကိုရေးမထား,
အကယ်. ၎င်းသည်အရေးမပါပါက Chown ကို အသုံးပြု. ဖိုင်ပိုင်ရှင်ကိုပြောင်းလဲရန်ကြိုးစားပါ ။ လက်ရှိ PHP အသုံးပြုသူသည် File Permances များရှိသည်။
နောက်တဖန်ဖိုင်ရေးသားအလုပ်ဖြစ်မရှ ,
တစ် ဦး ရေးပါစစ်ဆင်ရေးလုပ်ဆောင်ပါ ။
<?php
// ဖိုင်လမ်းကြောင်း
$file = '/var/www/html/testfile.txt';
// ဖိုင်တည်ရှိရှိမရှိဆုံးဖြတ်ရန်
if (!file_exists($file)) {
die("ဖိုင်မတည်ရှိပါဘူး!");
}
// ဖိုင်ရေးသားပြီးရှိမရှိဆုံးဖြတ်ရန်
if (!is_writable($file)) {
// ဖိုင်ပိုင်ရှင်ကိုလက်ရှိအသုံးပြုသူထံပြောင်းလဲရန်ကြိုးစားပါ
$currentUser = get_current_user();
// ဤတွင်ကျွန်ုပ်တို့သည်ဖိုင်ပိုင်ရှင်ကိုပြောင်းလဲရန်ကြိုးစားသည်gitbox.net
if (!chown($file, 'gitbox.net')) {
die("ဖိုင်ပိုင်ရှင်ကိုပြုပြင်မွမ်းမံနိုင်ခြင်း,ဖြစ်နိုင်သည်ခွင့်ပြုချက်မလုံလောက်。");
}
// နောက်တဖန်, ကအရေးအသားရှိမရှိဆုံးဖြတ်ပါ
if (!is_writable($file)) {
die("ဖိုင်သည်မအောင်မြင်ပါ,ပြုပြင်မွမ်းမံနိုင်ခြင်း。");
}
}
// ဖိုင်များကိုရေးသားနိုင်သည်,အကြောင်းအရာရေးပါ
$content = "ဒါကဖိုင်အမျိုးအစားအသစ်ပါ。\n";
if (file_put_contents($file, $content) !== false) {
echo "ဖိုင်ကိုအောင်မြင်စွာပြုပြင်ပြီးပြီ。";
} else {
echo "ဖိုင်ရေးရန်မအောင်မြင်ပါ。";
}
?>
Chown function ကိုယေဘုယျအားဖြင့် Super Users သို့မဟုတ်အသုံးပြုသူများသည်သက်ဆိုင်ရာခွင့်ပြုချက်များဖြင့်ကွပ်မျက်ခံရနိုင်သည်။ သာမန် PHP အသုံးပြုသူများသည်ဖိုင်ပိုင်ရှင်ကို ပြောင်းလဲ. မရပါ,
မျှဝေထားသောဆာဗာပတ် 0 န်းကျင်တွင် 0 င်စားမှု မကြာခဏအသုံးပြုခြင်းသည်လုံခြုံရေးဆိုင်ရာအန္တရာယ်များရှိနိုင်သည်။
ဖိုင်ခွင့်ပြုချက်ကိုဆုံးဖြတ်ရန် is_wratrats ကို အသုံးပြုသောအခါလမ်းကြောင်းမှန်ပေါ်ကိုသေချာစေရန်သင်သေချာပေါက်သေချာစေပြီးပုံဆောင်ဆက်သွယ်မှုများမရှိသေးပါ။
ခွင့်ပြုချက်သည်ရှုပ်ထွေးသောအခါ, ဖိုင်ခွင့်ပြုချက်ကိုညှိရန် chmod function ကိုသုံးနိုင်သည်။ သို့သော်ခွင့်ပြုချက်အလုံအလောက်လိုအပ်သည်။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်လုံခြုံစိတ်ချရသောပြောင်းလဲနေသောဖိုင်ခွင့်ပြုချက်များကို ဦး စွာမလုံခြုံစေရန်အတွက်အန္တရာယ်ရှိသည်။