လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Umask function နှင့် stat function ကိုပေါင်းစပ်ခြင်းဖြင့် PHP တွင်ဖိုင်ခွင့်ပြုချက်ပြောင်းလဲမှုများကိုမည်သို့စစ်ဆေးရမည်နည်း။ လက်တွေ့စစ်ဆင်ရေးလမ်းညွှန်

Umask function နှင့် stat function ကိုပေါင်းစပ်ခြင်းဖြင့် PHP တွင်ဖိုင်ခွင့်ပြုချက်ပြောင်းလဲမှုများကိုမည်သို့စစ်ဆေးရမည်နည်း။ လက်တွေ့စစ်ဆင်ရေးလမ်းညွှန်

gitbox 2025-07-09

1 ။ Umask () function ကိုမိတ်ဆက်

Umask () function ကိုလက်ရှိလုပ်ငန်းစဉ်၏ file mode ဖန်တီးမှုမျက်နှာဖုံးကိုသတ်မှတ်ရန်သို့မဟုတ်ရယူရန်အသုံးပြုသည်။ ဖိုင် mode ခလုတ်သည်အသစ်ဖန်တီးထားသောဖိုင်များအတွက် default ခွင့်ပြုချက်ကိုဆုံးဖြတ်သည်။ သင့်လျော်သောမျက်နှာဖုံးကိုသတ်မှတ်ခြင်းဖြင့် PHP ပရိုဂရမ်များသည်ဖိုင်အသစ်တစ်ခုကိုဖန်တီးသောအခါသူတို့၏ခွင့်ပြုချက်များကိုအလိုအလျောက်ကန့်သတ်ထားသည်။

Umask ၏အသုံးပြုမှု ()

 <span><span><span class="hljs-comment">// လက်ရှိလုပ်ငန်းစဉ်၏ဖိုင်ဖန်တီးမှုမျက်နှာဖုံးကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$current_umask</span></span><span> = </span><span><span class="hljs-title function_ invoke__">umask</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ယခုumaskတန်ဖိုး: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">decoct</span></span><span>(</span><span><span class="hljs-variable">$current_umask</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// အသစ်တစ်ခုကို set upumask</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0022</span></span><span>);  </span><span><span class="hljs-comment">// မျက်နှာဖုံးတန်ဖိုးက0022,ဖိုင်အသစ်၏ခွင့်ပြုချက်များဖြစ်ကြောင်းဖော်ပြသည်755</span></span><span>
</span></span>

အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည် Umask () function ကို အသုံးပြု. လက်ရှိ Umask တန်ဖိုးကိုပထမဆုံးအကြိမ်ရယူပြီးမျက်နှာဖုံးတန်ဖိုးအသစ်ကိုတင်ထားသည်။ 0022 ၏အဓိပ္ပာယ်မှာအသစ်ဖန်တီးထားသောဖိုင်ကိုအလိုအလျောက်ခွင့်ပြုချက် 755 ခုကို အလိုအလျောက်သတ်မှတ်လိမ့်မည် (ဆိုလိုသည်မှာအသုံးပြုသူသည်ကွပ်မျက်ခွင့်ပြုချက်ကိုဖတ်ပြီးရေးဆွဲခွင့်ခွင့်ပြုချက်များသည်ခွင့်ပြုချက်များကိုသာဖတ်ပြီးခွင့်ပြုထားသည်။


2 ။ နိဒါန်း နိဒါန်း () function ကိုမှ

The Stat () function ကိုဖိုင်အရွယ်အစား, နောက်ဆုံးပြုပြင်မွမ်းမံချိန်နှင့်ဖိုင်ခွင့်ပြုချက်များအပါအ 0 င်သတ်မှတ်ထားသောဖိုင်၏အခြေအနေသတင်းအချက်အလက်များကိုရရှိရန်အသုံးပြုသည်။ ၎င်းသည်အသေးစိတ်အချက်အလက်များနှင့်အတူ ခင်း ကျင်းမှုကိုပြန်လည်ပေးလိုက်သည်။

Stat ၏အခြေခံအသုံးပြုမှု ()

 <span><span><span class="hljs-variable">$file_stat</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>);

</span><span><span class="hljs-comment">// ဖိုင်ခွင့်ပြုချက် mode ကိုကြည့်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဖိုင်၏ခွင့်ပြုချက် mode ကိုဖြစ်ပါတယ်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">decoct</span></span><span>(</span><span><span class="hljs-variable">$file_stat</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>]) . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span></span>

Stat () မှပြန်လာသော mode ကို ကိန်းဂဏန်းတန်ဖိုးတစ်ခုဖြစ်ပြီးနည်းနည်းမျက်နှာဖုံးဖြင့်ခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည်။ bit operations မှတစ်ဆင့်ဖိုင်၏အသေးစိတ်ခွင့်ပြုချက်ကိုကျွန်ုပ်တို့ရယူနိုင်သည်။


3 ။ Umask () နှင့် stat ()) ဖိုင်ခွင့်ပြုချက်အပြောင်းအလဲများကိုစစ်ဆေးရန်

ဖိုင်ခွင့်ပြုချက်ကိုပိုမိုကောင်းမွန်စွာစီမံရန်အတွက်ဖိုင်ခွင့်ပြုချက်ကိုရှာဖွေရန် Umask () နှင့် stat () ကိုပေါင်းစပ်နိုင်သည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင်ဖိုင်၏အမှန်တကယ်ခွင့်ပြုချက်များကိုစစ်ဆေးပြီး၎င်းကိုဖန်တီးပြီးမျှော်လင့်ထားသည့်အတိုင်းသေချာအောင်လုပ်လိုသောဖိုင်ရှိလိုကြောင်းဆိုပါစို့။

လက်တွေ့အဆင့်များ -

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

  2. ဖိုင်ကိုခွင့်ပြုချက်ရယူရန် stat () function ကိုသုံးပါ။

  3. ဖိုင်ခွင့်ပြုချက်ပြောင်းလဲခြင်းရှိ, ရှိမရှိဆုံးဖြတ်ရန်မျှော်လင့်ထားသည့်တန်ဖိုးနှင့်အတူပြန်လာခွင့်တန်ဖိုးကို () ကို မျှော်လင့်ထားသည့်တန်ဖိုးနှင့်နှိုင်းယှဉ်ပါ။

နမူနာကုဒ်:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// ဖိုင်ခွင့်ပြုချက်မျက်နှာဖုံးကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0022</span></span><span>);

</span><span><span class="hljs-comment">// ဖိုင်အသစ်တစ်ခုဖန်တီးပါ</span></span><span>
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-string">'example.txt'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">"This is a test file."</span></span><span>);

</span><span><span class="hljs-comment">// ဖိုင်အခြေအနေကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$file_stat</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stat</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);

</span><span><span class="hljs-comment">// ဖိုင်ခွင့်ပြုချက် mode ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$file_permissions</span></span><span> = </span><span><span class="hljs-variable">$file_stat</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>] &amp; </span><span><span class="hljs-number">0777</span></span><span>;  </span><span><span class="hljs-comment">// Bitwise နှင့်စစ်ဆင်ရေး,ဖိုင်၏ခွင့်ပြုချက်တန်ဖိုးကိုရယူပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဖိုင်၏အမှန်တကယ်ခွင့်ပြုချက်များမှာ: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">decoct</span></span><span>(</span><span><span class="hljs-variable">$file_permissions</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// ဖိုင်ခွင့်ပြုချက်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်</span></span><span>
</span><span><span class="hljs-variable">$expected_permissions</span></span><span> = </span><span><span class="hljs-number">0755</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file_permissions</span></span><span> === </span><span><span class="hljs-variable">$expected_permissions</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဖိုင်ခွင့်ပြုချက်များသည်မျှော်လင့်ချက်များနှင့်အညီဖြစ်သည်!\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဖိုင်ခွင့်ပြုချက်မျှော်လင့်ချက်များနှင့်မကိုက်ညီပါ,အမှန်တကယ်ခွင့်ပြုချက်ဖြစ်ပါတယ်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">decoct</span></span><span>(</span><span><span class="hljs-variable">$file_permissions</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>;
}

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

code parsing:

  • ပထမ ဦး စွာဖိုင်အသစ်သည် 0755 ၏ခွင့်ပြုချက်ကို 0755 ၏ခွင့်ပြုချက်ကိုသေချာစေရန် File Mask (0022) မှတစ်ဆင့်ဖိုင်ခွင့်ပြုချက်မျက်နှာဖုံးကိုကျွန်ုပ်တို့သတ်မှတ်ထားသည်။

  • ဖိုင် ဥပမာ အသစ်တစ်ခုကိုဖန်တီးရန် File_Propar_Contore () function ကိုသုံးပါ။

  • ထို့နောက်ကျွန်ုပ်တို့သည်ဖိုင်၏အခြေအနေအချက်အလက်များကို status () function ကို () function ကိုဖြတ်သန်းခြင်း,

  • နောက်ဆုံးအနေဖြင့်ဖိုင်၏ခွင့်ပြုချက်အပိုင်းကို Bitwise Operation ( & 0777 ) မှထုတ်ယူပြီးမျှော်လင့်ထားသည့်ခွင့်ပြုချက်နှင့်နှိုင်းယှဉ်ပါက ( 0755 )

ရလဒ်ရလဒ် -

 <span><span><span class="hljs-section">ဖိုင်၏အမှန်တကယ်ခွင့်ပြုချက်များမှာ: 755</span></span><span>
ဖိုင်ခွင့်ပြုချက်များသည်မျှော်လင့်ချက်များနှင့်အညီဖြစ်သည်!
</span></span>

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