<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤသည်ဆောင်းပါး၏အကြောင်းအရာနှင့်ဆက်စပ်သောမဟုတ်ပါဘူး PHP Code Page</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-variable">$init_time</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-variable">$log_file</span></span><span> = </span><span><span class="hljs-string">"init.log"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-variable">$log_file</span></span><span>, </span><span><span class="hljs-string">"စတင်ခြင်းပြီးစီးခဲ့သည်: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d H:i:s"</span></span><span>) . </span><span><span class="hljs-string">"\n"</span></span><span>, FILE_APPEND);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h1>ပေါင်းစပ်ဖို့ဘယ်လို PHP set_file_buffer နှင့် fopen လုပ်ဆောင်ချက်,ပိုမိုထိရောက်သောဖိုင်စစ်ဆင်ရေးအောင်မြင်ရန်?</h1>
<p>တည်နေ PHP ကြီးမားသောဖိုင်များကို processing အခါ,文件的读取နှင့်写入性能往往会成为瓶颈。ဖိုင်စစ်ဆင်ရေး၏ထိရောက်မှုကိုတိုးတက်စေရန်,ကျနော်တို့ပေါင်းစပ်နိုင်ပါတယ် <code>fopenset_file_buffer function ကိုဖိုင်စစ်ဆင်ရေး၏ကြားခံအရွယ်အစားသတ်မှတ်ရန်အသုံးပြုသည်။ ပုံမှန်အားဖြင့် PHP သည် file operations များအတွက် built-in buffering ယန္တရားများကိုတည်ဆောက်ရန်,
</span><span><span class="hljs-title function_ invoke__">stream_set_write_buffer</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-number">8192</span></span><span>); </span><span><span class="hljs-comment">// ရန်ကြားခံထားပါ 8KB</span></span><span>
ဆင်ခြင်တုံတရားကိုကြားခံအရွယ်အစားကိုသတ်မှတ်ခြင်းဖြင့်စနစ်ခေါ်ဆိုမှုအရေအတွက်ကိုလျှော့ချနိုင်သည်။ I / O overhead ကိုလျှော့ချနိုင်သည်။
FOOPEN ကိုအသုံးပြုပြီးဖိုင်ကိုမည်သို့ဖွင့်ပြီး Buffer ကိုထိထိရောက်ရောက်ရေးရန်မည်သို့ပြုလုပ်ရမည်ကိုပြသသည့်ဥပမာပြည့်စုံသောဥပမာတစ်ခုဖြစ်သည် ။
</span><span><span class="hljs-comment">// အရေးအသားအတွက်ဖွင့်လှစ်</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-string">"large_file.txt"</span></span><span>, </span><span><span class="hljs-string">"w"</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-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ဖိုင်ကိုဖွင့ ်. မရပါ"</span></span><span>);
}
</span><span><span class="hljs-comment">// ရန် buffer အရွယ်အစားကိုသတ်မှတ်ပါ 16KB</span></span><span>
</span><span><span class="hljs-title function_ invoke__">stream_set_write_buffer</span></span><span>(</span><span><span class="hljs-variable">$handle</span></span><span>, </span><span><span class="hljs-number">16</span></span><span> * </span><span><span class="hljs-number">1024</span></span><span>);
</span><span><span class="hljs-keyword">for</span></span><span> (</span><span><span class="hljs-variable">$i</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>; </span><span><span class="hljs-variable">$i</span></span><span> < </span><span><span class="hljs-number">100000</span></span><span>; </span><span><span class="hljs-variable">$i</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">"ဒါကပထမ ဦး ဆုံးပါ <span class="hljs-subst">$i</span></span></span><span> လိုင်းဒေတာ\n");
}
</span><span><span class="hljs-comment">// ဖိုင်လက်ကိုင်ကိုပိတ်ပါ</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>);
အထက်ဖော်ပြပါဥပမာတွင် Buffer ကို 16 KB သို့သတ်မှတ်ခြင်းဖြင့် PHP သည် FRUME ကို ခေါ်ယူတိုင်းမှတ်စုစာအုပ်များကိုအလုပ်မလုပ်ပါ။
fopen နှင့် set_file_buffer ကို ပေါင်းစပ်ခြင်းသည် PHP ဖိုင်စစ်ဆင်ရေး၏ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ ကျိုးကြောင်းဆီလျော်သောကြားခံအရွယ်အစားကိုသတ်မှတ်ခြင်းနှင့်စနစ်ခေါ်ဆိုမှုအရေအတွက်ကိုလျှော့ချခြင်းအားဖြင့်ဖိုင်ကြီးများသို့မဟုတ်အလွန်အမင်းကြိမ်နှုန်းကိုဖတ်ရှုခြင်းနှင့်ရေးသားခြင်းကိုကိုင်တွယ်သောအခါသင်သိသိသာသာစွမ်းဆောင်ရည်တိုးတက်မှုများကိုရရှိနိုင်ပါသည်။ ဤနည်းစနစ်များကိုကျွမ်းကျင်ပြီးသောအခါသင်၏ PHP ဖိုင်အမျိုးအစားအပြောင်းအလဲစွမ်းဆောင်ရည်များသည်ပိုမိုထိရောက်သောတည်ငြိမ်မှုရှိလိမ့်မည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
fopen