PHP တွင် Umask () function ကိုဖိုင်များနှင့်လမ်းညွှန်များကိုဖန်တီးခြင်းအခါ default ခွင့်ပြုချက်မျက်နှာဖုံးကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ရိုးရိုးလေးပြောရလျှင် Umask သည် စနစ်ရှိအသစ်ဖန်တီးထားသောဖိုင်များသို့မဟုတ်လမ်းညွှန်များအတွက်ခွင့်ပြုချက်များကိုထိန်းချုပ်သည်။ ၎င်းသည် UNIX နှင့် UNIX ကဲ့သို့သော Linux နှင့် MacOS ကဲ့သို့သော UNIX ကဲ့သို့ UNIX ကဲ့သို့သောစနစ်များပေါ်တွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသောကိရိယာတစ်ခုဖြစ်သည်။
Unix စနစ်များတွင်ဖိုင်ခွင့်ပြုချက်များကိုအသုံးပြုသူ (ပိုင်ရှင်), User Group (Group) နှင့်အခြားအသုံးပြုသူများ (အခြားသူများ) နှင့်အခြားအသုံးပြုသူများ (အခြားအသုံးပြုသူများ (အခြားသူများ) နှင့်အခြားအသုံးပြုသူများ (အခြားအသုံးပြုသူများ) နှင့်အခြားအသုံးပြုသူများ (အခြားအသုံးပြုသူများ) နှင့်အခြားအသုံးပြုသူများ (အခြားအသုံးပြုသူများ) ဖြင့်ကိုယ်စားပြုသည်။ ခွင့်ပြုချက်အရခွင့်ပြုချက်များအရဖတ်ရှုခြင်း (R) ကိုဖတ်ရန်, ရေး (x) ခွင့်ပြုချက်များ (x) ခွင့်ပြုချက်များရေးဆွဲခြင်းနှင့်ပုံမှန်အားဖြင့် octal နံပါတ်များဖြင့်ကိုယ်စားပြုသည်။
7 = ခွင့်ပြုချက် (RWX) ကိုဖတ်ရန်, ရေး, ရေးရန်နှင့် execute လုပ်ပါ။
6 = ခွင့်ပြုချက်ကိုဖတ်ပြီးရေးပါ (RW-)
5 = ခွင့်ပြုချက်ကိုဖတ်ပြီး execute (RX)
4 = ခွင့်ပြုချက်ကိုဖတ်ပါ (R--)
3 = ခွင့်ပြုချက်ကိုရေးပြီးလုပ်ဆောင်ပါ (WX-)
2 = ရေးခွင့်ပြုချက် (W--)
1 = Execution ခွင့်ပြုချက် (x--)
0 = အဘယ်သူမျှမခွင့်ပြုချက် (---)
Umask () function ကိုအသုံးပြုသောအခါသင်သည် system ၏ default ခွင့်ပြုချက် settings ကိုအကျိုးသက်ရောက်စေမည့်မျက်နှာဖုံးတန်ဖိုးကိုဖြတ်သွားသည်။
PHP တွင် Umask () function ၏လုပ်ဆောင်ချက်သည်လက်ရှိဖိုင်ဖန်တီးမှုမျက်နှာဖုံးကိုသတ်မှတ်ရန်သို့မဟုတ်ရယူရန်ဖြစ်သည်။ PHP သည်ဖိုင်အသစ်တစ်ခုသို့မဟုတ်လမ်းညွှန်အသစ်တစ်ခုကိုဖန်တီးသောအခါ default ခွင့်ပြုချက်တန်ဖိုးသည် "bit-by-bit-bit" (နှင့်) လုပ်ငန်းခွင်တွင်ပါ 0 င်သည်ကိုဆုံးဖြတ်သည်။
ဥပမာအားဖြင့်, operating system ၏ပုံမှန်ခွင့်ပြုချက်များသည် 777 ဖြစ်သည် (ဆိုလိုသည်မှာအသုံးပြုသူများသည်ခွင့်ပြုချက်များကိုဖတ်ရှုရန်, ရေးဆွဲခြင်း, ရေးဆွဲခြင်းနှင့် execute လုပ်သည်) နှင့် Umask () ကို 022 အထိ သတ်မှတ်ထားပြီး,
<span><span><span class="hljs-title function_ invoke__">umask</span></span><span>([</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$mask</span></span><span>]);
</span></span>
$ MASK : သတ်မှတ်ထားသည့်ဖိုင်ခွင့်ပြုချက်မျက်နှာဖုံးကိုကိုယ်စားပြုသည့် optional integer တန်ဖိုးတစ်ခုဖြစ်သည်။ အဘယ်သူမျှမအငြင်းအခုံမကုန်လျှင် Umask () သည် လက်ရှိမျက်နှာဖုံးတန်ဖိုးကိုပြန်ပို့လိမ့်မည်။
ဖိုင်တစ်ခုဖန်တီးခြင်းတွင်စည်းမျဉ်းအချို့ကိုလိုက်နာရန်ခွင့်ပြုချက်များကိုသင်လိုချင်ပါ က , ဥပမာအားဖြင့်, ဖိုင်ဖန်တီးမှုကိုသင်ဖန်တီးလိုပါကဖိုင်ပိုင်ရှင်သာခွင့်ပြုရန်ခွင့်ပြုရန်ခွင့်ပြုရန်ခွင့်ပြုရန်ခွင့်ပြုထားသည်, အခြားအသုံးပြုသူများသည်ဖိုင်ကိုသာဖတ်နိုင်သည် ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-title function_ invoke__">umask</span></span><span>(</span><span><span class="hljs-number">0770</span></span><span>);
</span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">"example.txt"</span></span><span>, </span><span><span class="hljs-string">"w"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">"This is a test."</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဤဥပမာတွင်ဖန်တီးထားသောဖိုင်သည်အသုံးပြုသူအုပ်စုနှင့်အခြားအသုံးပြုသူများသည်ခွင့်ပြုချက်ကိုရေးခွင့်မပြုပါ။ ဖိုင်ပိုင်ရှင်သာရေးသားခြင်းကိုပြုလုပ်နိုင်သည်။
အကယ်လို့ဖိုင်အိတ်ရဲ့မျက်နှာဖုံး settings ကို လက်ရှိစနစ်ရဲ့ system ရဲ့ settings ကိုကြည့်ချင်တယ်ဆိုရင်,
<span><span><span class="hljs-meta"><?php</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">"Current umask: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">sprintf</span></span><span>(</span><span><span class="hljs-string">"%04o"</span></span><span>, </span><span><span class="hljs-variable">$current_umask</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဤနေရာတွင် % 04O ကို Umask တန်ဖိုးများကို octal format ဖြင့်ထုတ်လုပ်ရန်အသုံးပြုသည်။
Umask မှသတ်မှတ်ထားသောခွင့်ပြုချက်မျက်နှာဖုံးသည်လက်ရှိ PHP လုပ်ငန်းစဉ်အတွက်ထိရောက်သောကြောင့် PHP မှဖန်တီးထားသောနောက်ဆက်တွဲဖိုင်များနှင့်လမ်းညွှန်များကိုသာအကျိုးသက်ရောက်လိမ့်မည်။
လုပ်ငန်းစဉ်ကိုပြီးဆုံးသည်နှင့် PHP scriptionution ကိုပြီးစီးသည်နှင့်အမျှ umask () ၏ setting ကိုဆုံးရှုံးလိမ့်မည်။ လုပ်ငန်းစဉ်ထွက်ပေါက်ပြီးနောက် Umask ၏ setting ကို system ၏မူလတန်ဖိုးကိုပြန်လည်တည်ဆောက်လိမ့်မည်။
Umask () function သည်ရှိပြီးသားဖိုင်များသို့မဟုတ်လမ်းညွှန်များအပေါ်အကျိုးသက်ရောက်မှုမရှိပါ။ အသစ်ဖန်တီးထားသောဖိုင်များနှင့်လမ်းညွှန်များကိုသာအကျိုးသက်ရောက်လိမ့်မည်။
လုံခြုံရေးထိန်းချုပ်မှု - သင့်လျော်သော Umask ကို သတ်မှတ်ခြင်းအားဖြင့်သက်ဆိုင်တဲ့ 0 န်ထမ်းများသည်ဖိုင်များပေါ်တွင်စစ်ဆင်ရေးများကိုရေးဆွဲပြီးအထိခိုက်မခံသောအချက်အလက်များ၏လုံခြုံရေးကိုကာကွယ်နိုင်သည်။
log file management : တိကျသောအသုံးပြုသူများသို့မဟုတ်လုပ်ငန်းစဉ်များကိုသာ 0 င်ရောက်နိုင်ရန်အတွက် Log files များအတွက် log files များအတွက်ပိုမိုတင်းကြပ်စွာခွင့်ပြုချက်ထားပါ။
ယာယီဖိုင်ဖန်တီးမှု - ယာယီဖိုင်များကိုဖန်တီးခြင်းအခါဤဖိုင်များကိုကြည့်ရှုနေသောအခြားဖြစ်စဉ်များသို့မဟုတ်အသုံးပြုသူများ၏အန္တရာယ်ကိုလျှော့ချရန်သင့်တော်သော Uma ကို ချထားပါ။
Umask () သည် PHP developer များကို PHP developer များကဖိုင်များနှင့်လမ်းညွှန်များကိုဖန်တီးခြင်းအတွက်ခွင့်ပြုချက်ဆက်တင်များကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ Umask ကို စနစ်တကျ configure လုပ်ခြင်းအားဖြင့်ဖိုင်စနစ်၏လုံခြုံရေးနှင့်စည်းရုံးမှုကိုတိုးတက်ကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ဖွံ့ဖြိုးရေးပတ်ဝန်းကျင်တွင် Umask ၏ဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်ခွင့်ပြုချက်ပြ problems နာများကိုထိထိရောက်ရောက်လျှော့ချပြီးလုံခြုံရေးအန္တရာယ်များကိုထိရောက်စွာလျှော့ချနိုင်သည်။