PHP တွင် စနပိုင်း လုပ်ဆောင်ချက်သည်ဖိုင်များနှင့် subdirectorirectorirectorirectries များကိုသတ်မှတ်ထားသောလမ်းညွှန်တွင်ဖော်ပြနိုင်သည်။ သို့သော် စနဗူသည် ရိုးရှင်းသောဖိုင်များနှင့်လမ်းညွှန်များစာရင်းကိုသာပြန်ပို့သည်။ directory in directory နှင့် target files များရှိသင်္ကေတ link များကိုစာရင်းပြုစုရန်ကျွန်ုပ်တို့သည် scandir နှင့် is_link နှင့် is_link နှင့် readlink နှင့် readlink နှင့် readlink functions များကိုအသုံးပြုရန်လိုအပ်သည်။
အဆိုပါ စတူးဖေါ်ရေး လုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသော directory တွင်ဖိုင်များနှင့် subdirectorirectry အားလုံးကိုပြန်လည်ပေးအပ်ရန်နှင့်ပုံမှန်အားဖြင့်အက္ခရာစဉ်အတိုင်းစီစဉ်ထားသည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">scandir</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>);
</span></span>
$ directory parameter သည် scan ဖတ်ရန်ပစ်မှတ်လမ်းညွှန်ဖြစ်သည်။ ပြန်လာသောတန်ဖိုးသည်ထိုလမ်းညွှန်တွင်ဖိုင်များနှင့် subdirectoriontros များပါ 0 င်သည်။ သတိပြုသင့်သည်မှာ စကျော်ကာ များမှပြန်လာသောစာရင်းသည်အထူးပါဝင်ကြောင်းသတိပြုသင့်သည် ။ နှင့် .. လက်ရှိလမ်းညွှန်နှင့်မိဘလမ်းညွှန်များကိုကိုယ်စားပြုခြင်း,
ဖိုင် (သို့) လမ်းညွှန်တစ်ခုသည်သင်္ကေတ link တစ်ခုဖြစ်ခြင်းရှိမရှိဆုံးဖြတ်ရန် PHP ၏ is_link function ကိုသုံးနိုင်သည်။ ပေးထားသောလမ်းကြောင်းသည်သင်္ကေတ link ဖြစ်ကြောင်းစစ်ဆေးသည်။
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_link</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>
သင်္ကေတ link points ကိုရရန် Readlink function ကိုသုံးပါ။ ပေးထားသောလမ်းကြောင်းသည်သင်္ကေတ link ဖြစ်လျှင် Readlink သည် သင်္ကေတ link ၏ပစ်မှတ်လမ်းကြောင်းကိုပြန်ပို့လိမ့်မည်။ ဒီလိုမှမဟုတ်ရင် မှားယွင်းတဲ့ ပြန်လာလိမ့်မယ်။
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_link</span></span><span>(</span><span><span class="hljs-variable">$path</span></span><span>)) {
</span><span><span class="hljs-variable">$target</span></span><span> = </span><span><span class="hljs-title function_ invoke__">readlink</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> ဘက်ရိခြင်း </span><span><span class="hljs-subst">$target</span></span><span>\n";
}
</span></span>
ယခုကျွန်ုပ်တို့သည်အထက်ပါကုဒ်များကိုသင်္ကေတ link များနှင့်သတ်မှတ်ထားသော directory တွင်၎င်းတို့၏ပစ်မှတ်ဖိုင်များကိုစာရင်းပြုစုရန်အထက်ပါကုဒ်များကိုပေါင်းစပ်နိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// စကင်ဖတ်ရန်လမ်းညွှန်ကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">'/path/to/directory'</span></span><span>;
</span><span><span class="hljs-comment">// အသုံးပြု scandir လမ်းညွှန်စာရင်းရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$files</span></span><span> = </span><span><span class="hljs-title function_ invoke__">scandir</span></span><span>(</span><span><span class="hljs-variable">$directory</span></span><span>);
</span><span><span class="hljs-comment">// traversory လမ်းညွှန်စာရင်း</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$files</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</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">$file</span></span><span> === </span><span><span class="hljs-string">'.'</span></span><span> || </span><span><span class="hljs-variable">$file</span></span><span> === </span><span><span class="hljs-string">'..'</span></span><span>) {
</span><span><span class="hljs-keyword">continue</span></span><span>;
}
</span><span><span class="hljs-comment">// ပြည့်စုံဖိုင်လမ်းကြောင်း splicing</span></span><span>
</span><span><span class="hljs-variable">$filePath</span></span><span> = </span><span><span class="hljs-variable">$directory</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-variable">$file</span></span><span>;
</span><span><span class="hljs-comment">// ဖိုင်သည်သင်္ကေတ link ရှိမရှိစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_link</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>)) {
</span><span><span class="hljs-comment">// 获取符号链接ဘက်ရိခြင်း的目标文件</span></span><span>
</span><span><span class="hljs-variable">$target</span></span><span> = </span><span><span class="hljs-title function_ invoke__">readlink</span></span><span>(</span><span><span class="hljs-variable">$filePath</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$file</span></span></span><span> ၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်,ဘက်ရိခြင်း </span><span><span class="hljs-subst">$target</span></span><span>\n";
}
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
scandir ($ directory) - ဖိုင်များနှင့် subdirectorirector ်ဌာန်းချက်များအားလုံးကို directory ထဲတွင်ရရှိသည်။
is_link ($ filpath) - လက်ရှိဖိုင်သည်သင်္ကေတ link ကိုဆုံးဖြတ်သည်။
Readlink ($ filepath) : သင်္ကေတ link points-file လမ်းကြောင်းကိုရရှိသည်။
Directory / Path / Directory သည်အောက်ပါအကြောင်းအရာများရှိသည်ဟုယူဆပါ -
file1.txt (ပုံမှန်ဖိုင်)
Symlink1 (Tymlink မှ /path/tort_to/target1.txt )
Symlink2 (Tymlink မှ /path/tort_to/target2.txt )
အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် output ကိုဖြစ်လိမ့်မည်။
<span><span>symlink1 ၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်,ဘက်ရိခြင်း /</span><span><span class="hljs-type">path</span></span><span>/</span><span><span class="hljs-keyword">to</span></span><span>/target1.txt
symlink2 ၎င်းသည်သင်္ကေတ link တစ်ခုဖြစ်သည်,ဘက်ရိခြင်း /</span><span><span class="hljs-type">path</span></span><span>/</span><span><span class="hljs-keyword">to</span></span><span>/target2.txt
</span></span>
scandir နှင့် is_link နှင့် readlink function များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်သတ်မှတ်ထားသော directory နှင့်၎င်းတို့၏သက်ဆိုင်ရာပစ်မှတ်ဖိုင်များတွင်သင်္ကေတ link များကိုအလွယ်တကူစာရင်းပြုစုနိုင်သည်။ ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်ရှုပ်ထွေးသော directory studlege များနှင့်ဆက်ဆံရာတွင် System တွင်ပုံဆောင်ဆက်သွယ်မှုများကိုပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲရန်နှင့်ဆန်းစစ်ရန်ကူညီနိုင်သည်။