<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဆောင်းပါး၏အစနှင့်အဓိကစာသားအကြားခွဲခြာလိုင်း</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<hr>"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
အသုံးပြု getmyinode တရားစီရင်ချက် PHP ဇာတ်ညွှန်းကိုပြောင်းရွှေ့ခြင်းသို့မဟုတ်အစားထိုးခြင်းရှိမရှိနည်းလမ်းများကဘာတွေလဲ?
တည်နေ PHP script ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ဖြန့်ကျက်နေစဉ်,scriptionality ensessity နှင့်တည်နေရာတည်ငြိမ်မှုကိုသေချာစေရန်အလွန်အရေးကြီးသည်。尤其是တည်နေ某些对安全性和可靠性要求较高的场景下,developer များသည် script file ကိုပြောင်းရွှေ့သည်ကိုရှာဖွေလိုသည်、အစားထိုးသို့မဟုတ် tamper。PHP built-in function ကိုထောက်ပံ့ပေးသည် </span><span><span class="hljs-title function_ invoke__">getmyinode</span></span><span>(),ဒါဟာလက်ရှိ execution script ကိုရနိုင်သည် inode နံပါတ်စဥ်,ဤသည်ဖိုင် status ကိုရှာဖွေရန်ကူညီပေးသည်。
ဘာလဲ inode?
inode ၎င်းသည်ဖိုင်စနစ်တွင်အရေးကြီးသောအယူအဆတစ်ခုဖြစ်သည်,它是操作系统အသုံးပြု来标识文件的一个唯一标识符。ဖိုင်အမည်ပြောင်းလဲမှုများရှိပါက,နေသမျှကာလပတ်လုံးဖိုင်အမျိုးအစားနှင့်တည်နေရာမရွေ့ကြဘူးအဖြစ်,inode အရေအတွက်ကများသောအားဖြင့်အတူတူပင်ဖြစ်နေဆဲပင်。အခြားတစ်ဖက်မှကြည့်သော်,အကယ်. ဖိုင်ကိုအစားထိုးခြင်းသို့မဟုတ်အခြားဖိုင်စနစ်သို့ပြောင်းရွှေ့ပါက,inode အရေအတွက်ကပြောင်းလဲလိမ့်မည်。
</span><span><span class="hljs-title function_ invoke__">getmyinode</span></span><span>() နိဒါန်းနိဒါန်း
</span><span><span class="hljs-title function_ invoke__">getmyinode</span></span><span>() 函数အသုံးပြု于返回当前运行脚本文件的 inode ဂဏန်း,它的အသုံးပြု法非常简单:
```php
</span><span><span class="hljs-variable">$inode</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getmyinode</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"လက်ရှိဇာတ်ညွှန်းရဲ့ inode နံပါတ်စဥ်是: "</span></span><span> . </span><span><span class="hljs-variable">$inode</span></span><span>;
</span></span>
ဤနံပါတ်နှင့်အတူကျွန်ုပ်တို့သည် script ကိုပြောင်းရွှေ့ခြင်းသို့မဟုတ်အစားထိုးခြင်းရှိမရှိကိုကျွန်ုပ်တို့ပြောနိုင်သည်။ တိကျသောအတွေးအခေါ်များသည်အောက်ပါအတိုင်းဖြစ်သည် -
ဇာတ်ညွှန်းသည်ပထမဆုံးအကြိမ်ပြေးသောအခါ GetMyinode () မှပြန်လာသောတန်ဖိုးကိုလုံခြုံသောနေရာ၌သိမ်းဆည်းထားသည် (ဥပမာဒေတာဘေ့စ်သို့မဟုတ် cache file) ဖြစ်သည်။
နောက်ဆက်တွဲတွင်လက်ရှိ script ၏ indoode ကိုပြန်လည်ရယူပြီးယခင်သိမ်းဆည်းထားသောယခင်ကနှိုင်းယှဉ်ပါ။
အကယ်. inode သည်ကိုက်ညီမှုမရှိပါက၎င်းသည် script ကိုပြောင်းရွှေ့သို့မဟုတ်အစားထိုးနိုင်သည်ဟုဆိုလိုသည်။
နမူနာကုဒ်
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ချွေတာယူဆ inode ဖိုင်လမ်းကြောင်း</span></span><span>
</span><span><span class="hljs-variable">$inodeFile</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span> . </span><span><span class="hljs-string">'/script_inode.txt'</span></span><span>;
</span><span><span class="hljs-comment">// လက်ရှိ script ကိုရယူပါ inode</span></span><span>
</span><span><span class="hljs-variable">$currentInode</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getmyinode</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">file_exists</span></span><span>(</span><span><span class="hljs-variable">$inodeFile</span></span><span>)) {
</span><span><span class="hljs-variable">$savedInode</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-variable">$inodeFile</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$savedInode</span></span><span> != </span><span><span class="hljs-variable">$currentInode</span></span><span>) {
</span><span><span class="hljs-comment">// inode ပေြာင်းလဲခြင်း,အဆိုပါ script ကိုပြောင်းရွှေ့သို့မဟုတ်အစားထိုးသည်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အသိပေး:အဆိုပါ script file ကိုပြောင်းရွှေ့သို့မဟုတ်အစားထိုးခဲ့ကြပေမည်!"</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">"အဆိုပါ script file ကိုပြောင်းရွှေ့သို့မဟုတ်အစားထိုးမထားပါဘူး。"</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-comment">// ပထမ ဦး ဆုံးပြေး,သိုထား inode</span></span><span>
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$inodeFile</span></span><span>, </span><span><span class="hljs-variable">$currentInode</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"已သိုထား当前脚本 inode ဂဏန်း。"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
မှတ်စုများနှင့်ကန့်သတ်ချက်များ
Indoode နံပါတ်သည်တူညီသောဖိုင်စနစ်တွင်တစ်ခုတည်းသောထူးခြားသည်။ အကယ်. ဖိုင်ကိုအခြား partition တစ်ခုသို့မဟုတ် disk သို့ပြောင်းရွှေ့ပါက inode နံပါတ်သည်မလွှဲမရှောင်သာပြောင်းလဲလိမ့်မည်။
ကွဲပြားခြားနားသော operating systems နှင့် file systems ထောက်ခံမှုကွဲပြားခြားနားသော။ ဥပမာအားဖြင့် 0 င်းဒိုးစနစ်များသည် inode ၏အယူအဆကိုမသုံးပါ။ GetMyinode () မှရရှိသောရလဒ်သည်မမှန်ကန်ပါ။
Indoode အပြောင်းအလဲများသည် 100% ကိုဆုံးဖြတ်ရန် 100% ကိုမဆုံးဖြတ်နိုင်ပါ။ ဖိုင်ကိုပြုပြင်မွမ်းမံခြင်းဖြစ်သော်လည်းပြောင်းရွှေ့ခြင်းမရှိပါ။ အများအားဖြင့်မပြောင်းလဲပါဘူး အကယ်. တင်းကြပ်စွာစစ်ဆေးခြင်းလိုအပ်ပါက၎င်းကိုဖိုင်ဆေးခြင်းနှင့် တွဲဖက်. အသုံးပြုနိုင်သည် (MD5_File) ဖြစ်သည်။
အကျဉ်းချုပ်
GetMyinode () function ကိုအသုံးပြုပါ။ PHP script file ကိုပြောင်းရွှေ့သို့မဟုတ်အစားထိုးခြင်းရှိမရှိကိုအလွယ်တကူစစ်ဆေးပါ။ မြဲမြံစွာသိုလှောင်ခြင်းနှင့်ပုံမှန်စစ်ဆေးခြင်းများကိုပေါင်းစပ်ခြင်းသည် scripts ၏လုံခြုံရေးနှင့်ယုံကြည်စိတ်ချရမှုများကိုအတိုင်းအတာတစ်ခုအထိတိုးတက်စေနိုင်သည်။ သို့သော်ပြည့်စုံသောအကာအကွယ်အတွက်အခြားလုံခြုံရေးအစီအမံများကိုပေါင်းစပ်ရန်လည်းလိုအပ်သည်။
<hr> `` `` `