File Operations အတွက် PHP ကိုအသုံးပြုသောအခါ fopen () function သည် function () function သည်ဘုံ entry function တစ်ခုဖြစ်သည်။ ၎င်းသည်စာဖတ်ခြင်း, ရေးသားခြင်း, သို့သော်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်းလမ်းကြောင်းသတ်မှတ်ချက်အမှားများကြောင့်ဖိုင်ကိုဖွင့ ်. မရပါ, ထို့နောက်သတိပေးချက်သို့မဟုတ်အမှားတစ်ခုပစ်ချသည်။ ဖိုင်လမ်းကြောင်းကိုမှန်ကန်စွာသတ်မှတ်ရန်နှင့်ဘုံလမ်းကြောင်းအမှားများကိုမှန်ကန်စွာသတ်မှတ်ရန် fopen () function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကမိတ်ဆက်ပေးလိမ့်မည်။
Path အမှားအယွင်းများအများအားဖြင့်ဆွေမျိုးနှင့်အကြွင်းမဲ့လမ်းကြောင်းများအကြောင်းနားလည်မှုလွဲမှားခြင်းများမှလာသည်။
ဆွေမျိုးလမ်းကြောင်းသည် လက်ရှိ script file ၏ Execution တည်နေရာနှင့်ဆွေမျိုးဖြစ်သည်။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">"data.txt"</span></span><span>, </span><span><span class="hljs-string">"r"</span></span><span>);
</span></span>လက်ရှိ PHP ဖိုင်ကို / var / www / html / directory တွင်ကွပ်မျက်ခံရပါက fopen () သည် directory.txt ကိုရှာဖွေလိမ့်မည်။
ပကတိလမ်းကြောင်း သည်ဖိုင်စနစ်၏ရင်းမြစ်မှ စ. အပြည့်အဝလမ်းကြောင်းဖြစ်သည်။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">"/var/www/html/data/data.txt"</span></span><span>, </span><span><span class="hljs-string">"r"</span></span><span>);
</span></span>အကြွင်းမဲ့လမ်းစဉ်များကိုအသုံးပြုခြင်းသည်သင့်အားဖိုင်များကိုပိုမိုရှင်းလင်းစွာနေရာချထားရန်ခွင့်ပြုသော်လည်း၎င်းသည်အိတ်နည်းနည်းသည်။
__Dir__ သို့မဟုတ် dirname (__file__) (__File____) ကို အသုံးပြုရန်အတွက်လမ်းကြောင်းတည်ဆောက်ရန်နှင့်အကြွင်းမဲ့လမ်းခရီး၏ယုံကြည်စိတ်ချရမှုကိုပေါင်းစပ်နိုင်သည်။
ဥပမာ -
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span> . </span><span><span class="hljs-string">"/data/data.txt"</span></span><span>;
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">"r"</span></span><span>);
</span></span>ဖိုင်တွင်မတွေ့ရသည့်အမှားများကိုရှောင်ရှားရန် fopen မသုံးမီ file_exists () မှတဆင့်ဖိုင်ရှိ, မရှိစစ်ဆေးသင့်သည်။
ဥပမာ -
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span> . </span><span><span class="hljs-string">"/data/data.txt"</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">$file</span></span><span>)) {
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-string">"r"</span></span><span>);
</span><span><span class="hljs-comment">// ဖိုင်တွဲများကိုဖတ်ပါသို့မဟုတ် process လုပ်ပါ</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-variable">$file</span></span><span>;
}
</span></span>အောက်ပါတို့သည်ဖွံ့ဖြိုးရေးအတွက်တူညီသောလမ်းကြောင်းနှင့်သက်ဆိုင်သောအမှားများဖြစ်သည်။
စာဖြင့်ရေးသားသို့မဟုတ်မှားယွင်းစွာစာလုံးပေါင်း
Filename Case အထိခိုက်မခံ (အထူးသဖြင့် Linux တွင်)
ဖိုင် extension ကိုမေ့နေ (ဥပမာ .txt )
ကွဲပြားခြားနားသော operating ပတ် 0 န်းကျင်များသည်လမ်းကြောင်းပြ problems နာများကိုဖြစ်ပေါ်စေသည်
PHP ကို command line တွင်အသုံးပြုသောအခါ, အလုပ်လုပ် directory သည်ဝဘ်ပတ်ဝန်းကျင်နှင့်ကွဲပြားနိုင်သည်
လက်ရှိလမ်းညွှန်ကိုပြောင်းလဲရန် CHDIR () ကို သုံးပါ
ကွဲပြားခြားနားသော web server ကို configurations
Apache နှင့် Nginx ၏ root directory settings သည်ကွဲပြားခြားနားသည်, ပုံမှန်အသုံးမပြုနိုင်သောလမ်းကြောင်းကိုဖြစ်ပေါ်စေသည်။
__DIR__ (သို့) realappather ကို သုံးပါ။ လမ်းကြောင်းသည်တိကျမှန်ကန်မှုရှိစေရန်ဖိုင်လမ်းကြောင်းကိုတည်ဆောက်ရန်။
ခွဲစိတ်ကုသမှုမတိုင်မီဖိုင်ခွင့်ပြုချက်များကိုစစ်ဆေး ပါ ။
ခက်ခဲသောလမ်းကြောင်းလမ်းကြောင်းများကိုရှောင်ကြဉ်ပါ။
Cross-platform compatibility တိုးတက်စေရန် stitching ကို stitching လမ်းကြောင်းအတွက် staterority_separator စဉ်ဆက်မပြတ်အသုံးပြုပါ။
ဥပမာအားဖြင့်:
<span><span><span class="hljs-variable">$baseDir</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span>;
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-variable">$baseDir</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-string">"data"</span></span><span> . DIRECTORY_SEPARATOR . </span><span><span class="hljs-string">"log.txt"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_writable</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>)) {
</span><span><span class="hljs-variable">$handle</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"a"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fwrite</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-string">"သစ်ထုတ်လုပ်မှုအသစ်\n"</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$handle</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-variable">$filename</span></span><span>;
}
</span></span>FOGEN () ဖိုင်လမ်းကြောင်းကိုမှန်ကန်စွာသတ်မှတ်ရန်သော့ချက်သည် Excoveration ပတ် 0 န်းကျင်ကိုနားလည်ရန်, သင့်လျော်သောလမ်းကြောင်းတည်ဆောက်ခြင်းနည်းလမ်းကို သုံး. ဖိုင်အခြေအနေကိုစစ်ဆေးပြီးကောင်းသော codess status ကိုစစ်ဆေးပါ။ Path ပြ issues နာများသည်အသေးအဖွဲဖြစ်ပုံရသော်လည်း၎င်းတို့သည်အမှန်တကယ်စီမံကိန်းများအတွက် debugging ၏အဓိကအချက်ဖြစ်လာသည်။ ဤပြ issues နာများကိုကြိုတင်ပြင်ဆင်ထားခြင်းက code ၏ကြံ့ခိုင်မှုနှင့်ထိန်းသိမ်းမှုကိုများစွာတိုးတက်စေသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
fopen