လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> touch () function ကိုသုံးသောအခါအချည်းနှီးသောဖိုင်များကိုမတော်တဆဖန်တီးနိုင်ပုံကိုဘယ်လိုရှောင်ရှားမလဲ။ လက်တွေ့ကျသောအကြံပြုချက်များသည်အဘယ်နည်း။

touch () function ကိုသုံးသောအခါအချည်းနှီးသောဖိုင်များကိုမတော်တဆဖန်တီးနိုင်ပုံကိုဘယ်လိုရှောင်ရှားမလဲ။ လက်တွေ့ကျသောအကြံပြုချက်များသည်အဘယ်နည်း။

gitbox 2025-08-16

PHP Development တွင် Touch () function သည် function () function ကိုမကြာခဏဖိုင်တစ်ခု၏ 0 င်ရောက်မှုအချိန်နှင့်ပြုပြင်မွမ်းမံမှုအချိန်ကိုအသစ်ပြောင်းရန်သို့မဟုတ်ဖိုင်မတည်ရှိသည့်အခါအချည်းနှီးသောဖိုင်တစ်ခုဖန်တီးရန်အသုံးပြုသည်။ သို့သော် developer များစွာသည် touch () မတည်ရှိသည့်အခါ touch () သည် အချည်းနှီးသောဖိုင်အသစ်ကိုအလိုအလျောက်ဖန်တီးသည့်အခါ developer များစွာကိုမတော်တဆဖန်တီးမှုပြ problem နာကိုတွေ့ကြုံခံစားနိုင်မည်ဖြစ်သည်။ ၎င်းသည်အချို့သောအခြေအနေများတွင်ပြ problems နာများဖြစ်ပေါ်စေနိုင်သည်, ဤဆောင်းပါးသည်ဤပြ problem နာကိုမည်သို့ရှောင်ရှားနိုင်ပြီးလက်တွေ့ကျသောအကြံပြုချက်များကိုမျှဝေရန်စူးစမ်းလေ့လာပါမည်။

1 ။ Touch () function ကို၏အပြုအမူကိုနားလည်ပါ

ပထမ ဦး စွာ Touch () function ၏အခြေခံအပြုအမူကိုကျွန်ုပ်တို့နားလည်ရန်လိုအပ်သည်။ Touch () function ကိုဖိုင်တစ်ခု၏ 0 င်ရောက်မှုအချိန်နှင့်ပြုပြင်မွမ်းမံချိန်ကိုပြုပြင်ရန်အသုံးပြုသည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">touch</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">int</span></span><span> </span><span><span class="hljs-variable">$time</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>() [, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$atime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>() ]] )
</span></span>
  • $ filename : ဖိုင်အမည်ကိုဖွင့်ရန်ဖိုင်အမည်။

  • $ Time : အချိန်ကိုပြုပြင်မွမ်းမံခြင်း, ပုံမှန်အချိန်ကိုပုံမှန်ပြင်ဆင်ပါ။

  • $ idime : Access time, ပုံမှန်အချိန်ကိုပုံမှန်။

အကယ်. သတ်မှတ်ထားသောဖိုင်မရှိပါကဖိုင်တစ်ခုဖန်တီးရန်ခွင့်ပြုချက်မရှိပါက touch () သည် မှားယွင်းစွာ ပြန်လည်ရောက်ရှိပါက FILL သည်မတည်ရှိပါကဖိုင်တစ်ခုကိုဖန်တီး ရန် ခွင့်ပြုချက်မရှိပါ

2 ။ အချည်းနှီးသောဖိုင်များကိုမတော်တဆဖန်တီးခြင်းကိုရှောင်ကြဉ်ပါ

Touch () ဖိုင်မတည်ရှိသည့်အခါအချည်းနှီးသောဖိုင်တစ်ခုကိုဖန်တီးခြင်းကိုရှောင်ရှားရန်အောက်ပါနည်းလမ်းများကိုရယူနိုင်ပါသည်။

2.1 ဖိုင်တည်ရှိရှိမရှိစစ်ဆေးပါ

အလွယ်ကူဆုံးနှင့်ထိရောက်သောနည်းလမ်းမှာ touch () မသုံးမီပစ်မှတ်ထားဖိုင်တည်ရှိခြင်းရှိ, မရှိစစ်ဆေးရန်ဖြစ်သည်။ ဖိုင်သည်ရှိပြီးသားရှိမရှိဆုံးဖြတ်ရန် File_exists () သို့မဟုတ် is_file () function များကိုသုံးနိုင်သည်။ အကယ်. ဖိုင်မရှိပါကသင် အဆက်အသွယ် () ခေါ်ဆိုမှုကိုကျော်သွားနိုင်သည်။

 <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">$filename</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">touch</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-comment">// ဖိုင်မတည်ရှိပါဘူး,အခြားလုပ်ရပ်များသို့မဟုတ်သစ်ထုတ်လုပ်ရေးလုပ်ဆောင်ပါ</span></span><span>
}
</span></span>

ဤနည်းအားဖြင့် touch () ကို ဖိုင်တည်ရှိပြီးမှသာဟုခေါ်တွင်ပါလိမ့်မည်။

2.2 is_File () ကို အသုံးပြုပါ။ ပစ်မှတ်သည်ဖိုင်တစ်ခုဖြစ်ကြောင်းသေချာစေရန်

တစ်ခါတစ်ရံပစ်မှတ်လမ်းကြောင်းသည်မမှန်ကန်ကြောင်းမှားယွင်းသောအပြုအမူများကိုလည်း ဦး တည်နိုင်သည်။ IS_FILE () ကိုအသုံးပြုခြင်းသည် directory ထက်ဖိုင်သည် directory ထက်ဖိုင်တစ်ခုဖြစ်ပြီးမလိုအပ်သောအချည်းနှီးသောဖိုင်ဖန်တီးမှုကိုရှောင်ရှားရန်သေချာစေရန်။

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_file</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">touch</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-comment">// processing files များသည်ပုံမှန်ဖိုင်များမဟုတ်ပါ</span></span><span>
}
</span></span>

2.3 ဖိုင်ခွင့်ပြုချက်များနှင့်လမ်းညွှန်ချက်စစ်ဆေးမှုများကိုသတ်မှတ်ပါ

အကယ်. ဖိုင်မရှိပါကဖိုင်တစ်ခုကိုသင်ဖန်တီးလိုပါကဖိုင်ကိုကြိုတင်ပြင်ဆင်ထားသည့်လမ်းညွှန်များကိုဖန်တီးခြင်းနှင့်ဖိုင်တွဲများကိုဖန်တီးရန်သင့်လျော်သောဖိုင်ခွင့်ပြုချက်များကိုထည့်သွင်းစဉ်းစားပါ။ အကယ်. ပစ်မှတ်လမ်းညွှန်မရှိပါကသင်လမ်းညွှန်ကို ဦး စွာဖန်တီးနိုင်ပြီး Touch () ကို သုံးနိုင်သည်။

 <span><span><span class="hljs-variable">$dir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">dirname</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">is_dir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">mkdir</span></span><span>(</span><span><span class="hljs-variable">$dir</span></span><span>, </span><span><span class="hljs-number">0777</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>); </span><span><span class="hljs-comment">// လမ်းညွှန်တစ်ခု ဖန်တီး. ခွင့်ပြုချက်များကိုသတ်မှတ်ပါ</span></span><span>
}
</span><span><span class="hljs-title function_ invoke__">touch</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
</span></span>

3 ။ @ error suppressor ကိုသုံးပါ

Error Suppressor Suppressor Suppressor ကို အသုံးပြုခြင်း သည် အကြံပြုထားသောအကောင်းဆုံးအလေ့အကျင့်မဟုတ်ဘဲအမှားအယွင်းရှိသည့်အသေးစိတ်အချက်အလက်များကိုမပြတ်ပြုလုပ်နိုင်သည်ကိုသင်သာဂရုစိုက်ပါက,

 <span><span>@</span><span><span class="hljs-title function_ invoke__">touch</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
</span></span>

ဤနည်းအားဖြင့်ဖိုင်မရှိပါကပင်သတိပေးသတင်းစကားမရှိပါ။ သို့သော်ဤအချက်သည်ဖိုင်များအချည်းနှီးသောဖိုင်များဖန်တီးခြင်း၏ပြ problem နာကိုမဖြေရှင်းနိုင်သောကြောင့်၎င်းကိုအခြားနည်းဗျူဟာများနှင့်ပေါင်းစပ်။ ပိုမိုထိရောက်နိုင်သည်။

4 ။ Custom File Creation Logic

အကယ်. သင်ဖိုင်ဖန်တီးမှုလုပ်ငန်းစဉ်ကိုပိုမိုကောင်းမွန်စွာထိန်းချုပ်လိုပါကသင်၏လိုအပ်ချက်များနှင့်အညီဖိုင်စစ်ဆင်ရေးကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ ဥပမာအားဖြင့်အချို့သောကိစ္စရပ်များတွင်အချည်းနှီးသောဖိုင်တစ်ခုမဟုတ်ဘဲတိကျသောအကြောင်းအရာနှင့်ဖိုင်တစ်ခုကိုဖန်တီးရန်နှစ်လိုဖွယ်ကောင်းနိုင်သည်။ ဤအချိန်တွင်ဖိုင်တည်ရှိ, ရှိမရှိကို ဦး စွာစစ်ဆေးနိုင်သည်။ အကယ်. ၎င်းတွင်မရှိပါကဖိုင်ကို ဖန်တီး. အစွန်အဖျားအကြောင်းအရာများကိုရေးပါ။

 <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">$filename</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"Initial content"</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-title function_ invoke__">touch</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>);
}
</span></span>

၎င်းသည်ပုံမှန်အကြောင်းအရာများကိုပေးစဉ်အလွတ်ဖိုင်များအားလုံးကိုအလွတ်ဖိုင်များဖန်တီးခြင်းကိုရှောင်ရှားသည်။

5 ။ ဖိုင်ဖန်တီးမှုကိုပိုမိုထင်ရှားစွာထိန်းချုပ်ရန် File_Propl_Contore () သို့မဟုတ် fopen () () () () () () () ()

သင်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ဖိုင်ဖန်တီးမှုနှင့်ပြုပြင်မွမ်းမံခြင်းလုပ်ငန်းများကိုပိုမိုလိုအပ်ပါက File_Proputents () သို့မဟုတ် fopen () သို့မဟုတ် fopen () သို့မဟုတ် fopen () () သို့မဟုတ် fopen () ကို သုံးနိုင်သည်။ ဤနည်းလမ်းများကဖိုင်ကိုဖိုင်ကိုဖန်တီးပြီး, ဗလာဖိုင်များ၏မျိုးဆက်ကိုရှောင်ရှားခြင်းနှင့်တစ်ချိန်တည်းတွင်အချက်အလက်များကိုတစ်ချိန်တည်းရေးရန်ခွင့်ပြုသည်။

 <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">$filename</span></span><span>)) {
    </span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$filename</span></span><span>, </span><span><span class="hljs-string">"Initial content"</span></span><span>);
}
</span></span>

သို့မဟုတ် fopen () ကို သုံး. အကြောင်းအရာမတည်ရှိပါကအကြောင်းအရာကို ဖန်တီး. ရေးပါ။

 <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">"w"</span></span><span>);  </span><span><span class="hljs-comment">// 'w' Mode သည်ဖိုင်များကိုဖန်တီးပြီးဖိုင်၏ contents များကိုရှင်းလင်းစေသည်</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$handle</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">"Initial content"</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>

အကျဉ်းချုပ်

Touch () function ကိုသုံးသောအခါ, ဗလာဖိုင်တစ်ခုအားမတော်တဆဖြစ်ပေါ်လာခြင်းကိုရှောင်ရှားရန်သော့ချက်သည်ဖိုင်ကိုကြိုတင်တည်ရှိခြင်းရှိမရှိကိုဆုံးဖြတ်ရန်သို့မဟုတ်ဖိုင်အချည်းနှီးသောဖိုင်များကိုရှောင်ရှားရန်အခြားနည်းလမ်းများကိုအကဲဖြတ်ရန်ဖြစ်သည်။ file_exists () , is_file () , Mkdir () စသည်ဖြင့်လုပ်ဆောင်မှုများကိုပေါင်းစပ်ခြင်းအားဖြင့်သင်သည်မလိုအပ်သောအချည်းနှီးသောဖိုင်ဖန်တီးမှုကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ တစ်ခုချင်းစီကိုနည်းလမ်းက၎င်း၏သက်ဆိုင်တဲ့ဇာတ်လမ်းရှိပါတယ်။ သင့်လျော်သောမဟာဗျူဟာကိုရွေးချယ်ခြင်းသတ်သတ်မှတ်မှတ်လိုအပ်ချက်များအရ 0 င်ရောက်ခြင်းနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေနိုင်သည်။