လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Chown function ကို is_wract ်ထုလုပ်ဆောင်ချက်နှင့်ပေါင်းစပ်ပြီးပါကခွင့်ပြုချက်ကိုစီရင်ပြီးနောက်၎င်းကိုလုပ်ဆောင်လိမ့်မည်။

Chown function ကို is_wract ်ထုလုပ်ဆောင်ချက်နှင့်ပေါင်းစပ်ပြီးပါကခွင့်ပြုချက်ကိုစီရင်ပြီးနောက်၎င်းကိုလုပ်ဆောင်လိမ့်မည်။

gitbox 2025-06-07

PHP တွင်ဖိုင်များကိုစီမံခန့်ခွဲသည့်အခါ developer များကြုံတွေ့ရသည့်ဘုံပြ issues နာများဖြစ်သည်။ အထူးသဖြင့်ဖိုင်၏အကြောင်းအရာများကိုသင်ပြုပြင်ရန်လိုအပ်သည့်အခါဖိုင်၏ခွင့်ပြုချက်သည်ရေးရန်ခွင့်ပြုသည်ကိုအတည်ပြုရန်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် Chown နှင့် IS_WRITTTITTTITET လုပ်ဆောင်မှုများကိုမည်သို့ပေါင်းစပ်ရမည်,


1 ။ Chown နှင့် IS_WRITTTITED လုပ်ငန်းများကိုနားလည်ပါ

  • Chown : ဖိုင်တစ်ခုသို့မဟုတ် directory ပိုင်ရှင်ကိုပြောင်းလဲပါ။ ဤလုပ်ဆောင်ချက်သည် PHP script တွင်လုံလောက်သောခွင့်ပြုချက် (များသောအားဖြင့် root သို့မဟုတ် for root သို့မဟုတ်ပိုင်ဆိုင်သောအသုံးပြုသူ) ကိုအောင်မြင်စွာကွပ်မျက်ခံရရန်လိုအပ်သည်။

  • is_wratent - ဖိုင်တစ်ခုသို့မဟုတ်လမ်းညွှန်သည်ရေးသား။ ဖြစ်စေဆုံးဖြတ်သည်။ Boolean Value ကိုပြန်ပို့ပါ, စစ်မှန်တဲ့ wraced လို့ရတယ်, မှားယွင်းတဲ့ အဓိပ္ပာယ်ကိုဆိုလိုတာမဟုတ်ဘူး။


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

  1. ဖိုင်တည်ရှိခြင်းရှိမရှိဆုံးဖြတ်ရန် - အမှားအယွင်းများဖြစ်ပေါ်စေမည့်ဖိုင်ကိုမလုပ်ဆောင်ပါနှင့်။

  2. ဖိုင်သည်အရေးအကြီးဆုံးသောဟုတ်မဟုတ်စစ်ဆေးပါ ၎င်းသည်ခွင့်ပြုချက်ကိုရေးမထား,

  3. အကယ်. ၎င်းသည်အရေးမပါပါက Chown ကို အသုံးပြု. ဖိုင်ပိုင်ရှင်ကိုပြောင်းလဲရန်ကြိုးစားပါ ။ လက်ရှိ PHP အသုံးပြုသူသည် File Permances များရှိသည်။

  4. နောက်တဖန်ဖိုင်ရေးသားအလုပ်ဖြစ်မရှ ,

  5. တစ် ဦး ရေးပါစစ်ဆင်ရေးလုပ်ဆောင်ပါ


3 ။ နမူနာကုဒ်

 <?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 "ဖိုင်ရေးရန်မအောင်မြင်ပါ。";
}
?>

4 ။ မှတ်စုများ

  • Chown function ကိုယေဘုယျအားဖြင့် Super Users သို့မဟုတ်အသုံးပြုသူများသည်သက်ဆိုင်ရာခွင့်ပြုချက်များဖြင့်ကွပ်မျက်ခံရနိုင်သည်။ သာမန် PHP အသုံးပြုသူများသည်ဖိုင်ပိုင်ရှင်ကို ပြောင်းလဲ. မရပါ,

  • မျှဝေထားသောဆာဗာပတ် 0 န်းကျင်တွင် 0 င်စားမှု မကြာခဏအသုံးပြုခြင်းသည်လုံခြုံရေးဆိုင်ရာအန္တရာယ်များရှိနိုင်သည်။

  • ဖိုင်ခွင့်ပြုချက်ကိုဆုံးဖြတ်ရန် is_wratrats ကို အသုံးပြုသောအခါလမ်းကြောင်းမှန်ပေါ်ကိုသေချာစေရန်သင်သေချာပေါက်သေချာစေပြီးပုံဆောင်ဆက်သွယ်မှုများမရှိသေးပါ။

  • ခွင့်ပြုချက်သည်ရှုပ်ထွေးသောအခါ, ဖိုင်ခွင့်ပြုချက်ကိုညှိရန် chmod function ကိုသုံးနိုင်သည်။ သို့သော်ခွင့်ပြုချက်အလုံအလောက်လိုအပ်သည်။

  • ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်လုံခြုံစိတ်ချရသောပြောင်းလဲနေသောဖိုင်ခွင့်ပြုချက်များကို ဦး စွာမလုံခြုံစေရန်အတွက်အန္တရာယ်ရှိသည်။