PHP တွင် LStat သည် Developer များကိုဖိုင်များသို့မဟုတ်လမ်းညွှန်များကို metadata ရရှိရန်ခွင့်ပြုသည့်အလွန်လက်တွေ့ကျသောဖိုင်စနစ်လုပ်ဆောင်မှုဖြစ်သည်။ Stat function နှင့်မတူဘဲ LStat သည် သင်္ကေတ၏ metadata မှအမှတ်အသားပြုသည့် metadata ထက်သင်္ကေတ link ၏ metadata ကိုပြန်လည်ရရှိခဲ့သည်။ ဤအင်္ဂါ ရပ် သည်လမ်းကြောင်းတစ်ခုသည်သင်္ကေတ link တစ်ခုရှိမရှိကိုစီရင်သောအခါအထူးသဖြင့်အရေးကြီးသည်။ ဤဆောင်းပါးသည်လမ်းကြောင်းတစ်ခုသည်သင်္ကေတလမ်းကြောင်းဖြစ်ကြောင်းဆုံးဖြတ်ရန် LStat function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်လေ့လာလိမ့်မည်။
PHP ၏ LSTAT function ကိုသတ်မှတ်ထားသောလမ်းကြောင်းဖိုင်သို့မဟုတ်လမ်းညွှန်၏အခြေအနေသတင်းအချက်အလက်များကိုရရှိရန်နှင့် Associative Array ကိုပြန်ပေးရန်အသုံးပြုသည်။ ဤသည်ခင်းကျင်းမှုသည်ဖိုင်အရွယ်အစား, ခွင့်ပြုချက်များ, ဖိုင်အမျိုးအစားစသည့်ဖိုင်နှင့်ပတ်သက်သောအချက်အလက်များပါ 0 င်သည်။
function ရှေ့ပြေးပုံစံ:
<span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$filename</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
Parametermer
$ filename : ရှာဖွေရန်ဖိုင်သို့မဟုတ် directory သို့လမ်းကြောင်းကိုသတ်မှတ်သည်။
Value ကိုပြန်သွားပါ
အကယ်. အောင်မြင်ပါက LStat သည် ဖိုင်အမျိုးအစားအချက်အလက်များပါ 0 င်သည့်အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုကိုပြန်လည်ပေးပို့လိမ့်မည်။
အကယ်. ပျက်ကွက်လျှင် မှားယွင်းသော ပြန်လာပါ။
မှတ်ချက်ပေးသင့်သည်မှာ LStat သည် သင်္ကေတလိုင်းများကိုခြေရာခံခြင်းမဟုတ်ကြောင်း, ၎င်းသည်သင်္ကေတ link ၏အခြေအနေကိုပြန်ပို့သည်။
လမ်းကြောင်းတစ်ခုသည်သင်္ကေတ link တစ်ခုရှိမရှိဆုံးဖြတ်ရန်လမ်းကြောင်း၏ status အချက်အလက်များကို ဦး စွာရယူပြီးပြန်လာသော status array ရှိ mode ကိုစစ်ဆေးပါ။ Mode ၏တန်ဖိုးသည်ပုံမှန်ဖိုင်များ, လမ်းညွှန်များ, သင်္ကေတအချိတ်အဆက်များအပါအ 0 င်ဖိုင်အမျိုးအစားကိုဆုံးဖြတ်သည်။
အောက်ပါလမ်းကြောင်းသည်လမ်းကြောင်းသည်သင်္ကေတလမ်းကြောင်းဖြစ်ကြောင်းဆုံးဖြတ်ရန်တိကျသောခြေလှမ်းများဖြစ်သည်။
ဖိုင်တစ်ခုသို့မဟုတ်လမ်းညွှန်တစ်ခု၏အခြေအနေအချက်အလက်များကိုရရှိရန် LSTAT ကို သုံးပါ။
Return Array ရှိ mode ကိုလယ်ကွင်းကိုစစ်ဆေးပါ။
S_IFLNK စဉ်ဆက်မပြတ်ကသင်္ကေတ link ကိုဆုံးဖြတ်ပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">isSymbolicLink</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$path</span></span></span><span>) {
</span><span><span class="hljs-comment">// ဖိုင်အခြေအနေအချက်အလက်များကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$stat</span></span><span> = </span><span><span class="hljs-title function_ invoke__">lstat</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>);
</span><span><span class="hljs-comment">// တရားစီရင်ချက် lstat အောင်မြင်သော</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$stat</span></span><span> === </span><span><span class="hljs-literal">false</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">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>;
}
</span><span><span class="hljs-comment">// တရားစီရင်ချက်文件是否为符号链接</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> ((</span><span><span class="hljs-variable">$stat</span></span><span>[</span><span><span class="hljs-string">'mode'</span></span><span>] & </span><span><span class="hljs-number">0170000</span></span><span>) === </span><span><span class="hljs-number">0120000</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">true</span></span><span>; </span><span><span class="hljs-comment">// ၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်</span></span><span>
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-literal">false</span></span><span>; </span><span><span class="hljs-comment">// 不၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်</span></span><span>
}
</span><span><span class="hljs-comment">// စမ်းသပ်မှု</span></span><span>
</span><span><span class="hljs-variable">$path</span></span><span> = </span><span><span class="hljs-string">'/path/to/your/file_or_symlink'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">isSymbolicLink</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$path</span></span></span><span> ၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်。\n";
} </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 class="hljs-subst">$path</span></span></span><span> 不၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်。\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
LSTAT ($ PATH) - ဖိုင်အခြေအနေအချက်အလက်များကိုရယူရန် LStat function ကိုခေါ်ပါ။
ဖိုင် (သို့) လမ်းညွှန်မတည်ရှိပါက LStat သည် မှားယွင်းစွာ ပြန်ပို့လိမ့်မည်, သို့မဟုတ်လမ်းကြောင်းသည်လက်လှမ်းမမှီနိုင်ပါ။
$ stat ['mode'] & 0170000 : mode field တွင်ဖိုင်၏အမျိုးအစားအချက်အလက်များပါရှိသည်။ 0170000 သည်ဖိုင်အမျိုးအစားအပိုင်းကိုထုတ်ယူရန်အသုံးပြုသောမျက်နှာဖုံးဖြစ်သည်။ Unix ဖိုင်ခွင့်ပြုချက်အရသင်္ကေတ link ၏တန်ဖိုးသည် 0120000 ဖြစ်သည်။
တရားသူကြီးသင်္ကေတ - ($ stat [mode) & 0170000 === 0170000 === 0170000 === 0170000 === 0120000 === 0170000 === 0170000 === 0170000 === 0170000 === 0170000 ဆိုလိုသည်။
သင်္ကေတအချိတ်အဆက်များအပြင် lstat သည် ဖိုင်တစ်ခုသည်အခြားအမျိုးအစားများဟုတ်မဟုတ်ဆုံးဖြတ်ရန်လည်းကူညီနိုင်သည်။ mode ကို လယ်ကွက်၏မျက်နှာဖုံးအားဖြင့်ဖိုင်သည်ပုံမှန်ဖိုင်, လမ်းညွှန်, directory စသည်တို့ဟုတ်သည်ကိုဆုံးဖြတ်နိုင်သည်။
အထွေထွေဖိုင် - ($ stat ['mode] & 0170000) & 0170000 === 0100000 === 0100000
လမ်းညွှန် : ($ stat ['mode) & 0170000 === 0040000 === 0040000 === 0040000
အက်ခရာကိရိယာဖိုင် - ($ stat ['mode) & 0170000 === 0020000 === 0020000 === 0020000 === 0020000 === 0020000
Doctor File ကိုပိတ်ဆို့ခြင်း - ($ stat ['mode) & 0170000 === 0060000 === 0060000
Pipeline (FIFO) : ($ stat [`mode) & 0170000 === 0010000 === 0010000
PHP ၏ LSTAT function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင် (သို့) လမ်းညွှန်တစ်ခု၏အခြေအနေအချက်အလက်များကိုအလွယ်တကူရယူပြီး Mode ကို အခြေခံ. ဖိုင်အမျိုးအစားကိုအကဲဖြတ်နိုင်သည်။ လမ်းကြောင်းသည်သင်္ကေတ link ဖြစ်ကြောင်းဆုံးဖြတ်ရန်အလွန်လွယ်ကူသည်။ LSTAT အချက်အလက်များရရှိရန် LSTAT ကို သာအသုံးပြုရန်လိုအပ်ပြီးဖိုင်အမျိုးအစားသည်သင်္ကေတ link ဖြစ်သည်။ ဤနည်းလမ်းသည်အလိုအလျောက်ထိရောက်သောနှင့်အကျိုးရှိသည်, ဖိုင်စနစ်စစ်ဆင်ရေးများလိုအပ်သည့်အခြေအနေများအတွက်အလွန်သင့်လျော်သည်။