PHP တွင် stream_set_set_write_buffer သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဒီ function ကိုအသုံးပြုခြင်းအားဖြင့်, အထူးသဖြင့်ဖိုင်များ, ကွန်ယက်တောင်းဆိုမှုများကိုကိုင်တွယ်ခြင်းစသည့်ဒေတာအရေးအသားအမြောက်အများကိုမကြာခဏပြုလုပ်သောအချက်အလက်များရေးသားခြင်း,
Steam_set_write_buffer သည် PHP တွင်စီးဆင်းမှု function တစ်ခုဖြစ်သည်။ Streams များသည် PHP ရှိဖိုင်များသို့မဟုတ်ကွန်ယက်ဆက်သွယ်မှုများဖြစ်သည်။ အချက်အလက်များကိုစမ်းကြည့်နိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်သင့်အားကြားခံအရွယ်အစားကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ဒေတာများကိုရေးသည့်အခါ PHP သည်အချက်အလက်များကိုပထမဆုံးအကြိမ်ရေးပါမည်။ ထို့နောက်ဖိုင်သို့မဟုတ်ကွန်ယက်ချိတ်ဆက်မှုကဲ့သို့သောအမှန်တကယ် ဦး တည်ရာသို့ရေးပါ။
<span><span><span class="hljs-title function_ invoke__">stream_set_write_buffer</span></span><span>(resource </span><span><span class="hljs-variable">$stream</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$buffer</span></span><span>);
</span></span>
$ stream : file stream, socket stream ဖြစ်နိုင်သောပွင့်လင်းစီးဆင်းမှုအရင်းအမြစ်ကိုသတ်မှတ်သည်။
$ Buffer : bytes အတွက် buffer ရဲ့အရွယ်အစားကိုသတ်မှတ်ပါတယ်။ 0 မှ 0 င်သောအခါ Buffer ကိုပိတ်ထားပြီးဒေတာများကိုပစ်မှတ်လွှင့်ဌာနသို့တိုက်ရိုက်ရေးသားလိမ့်မည်။
Boolean Value ကိုပြန်လာခြင်းသည် အောင်မြင်မှုကို ဆိုလိုသည် ။
အချို့သောအခြေအနေများတွင် PHP ၏ပုံမှန်ကြားခံအရွယ်အစားသည်အထူးသဖြင့်အချက်အလက်အမြောက်အများကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါစွမ်းဆောင်ရည်လိုအပ်ချက်များနှင့်မကိုက်ညီပါ။ ကြားခံအရွယ်အစားကိုစနစ်တကျညှိနှိုင်းခြင်းအားဖြင့်သင်သည်အရေးပေါ်အရေအတွက်ကိုလျှော့ချပြီး I / O စစ်ဆင်ရေးများကိုလျှော့ချနိုင်သည်။
ဥပမာအားဖြင့်, အကယ်. သင်သည်ဖိုင်တစ်ခုသို့အချက်အလက်အမြောက်အများကိုရေးသားနေပါက, ရေးသည် I / O စစ်ဆင်ရေးတစ်ခုစီလိုအပ်သည်ဆိုပါက၎င်းသည်စွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုဖြစ်ပေါ်စေနိုင်သည်။ Buffer Size ကိုတိုးမြှင့်ခြင်းအားဖြင့် PHP သည်အချက်အလက်များကိုမှတ်ဉာဏ်တွင်ခေတ္တသိုလှောင် ထား. Disk Operations အရေအတွက်ကိုလျှော့ချခြင်းဖြင့်မြန်နှုန်းမြင့်တက်ခြင်းတိုးများလာသည်။
Stream_set_write_Buffer ကို ဘယ်လိုသုံးရမလဲဆိုတာပြတဲ့ရိုးရှင်းတဲ့ PHPP ဥပမာတစ်ခုပါ။
<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">$file</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">$file</span></span><span>) {
</span><span><span class="hljs-comment">// ရေးရန် cache အရွယ်အစားကိုသတ်မှတ်ပါ 1MB</span></span><span>
</span><span><span class="hljs-title function_ invoke__">stream_set_write_buffer</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-number">1024</span></span><span> * </span><span><span class="hljs-number">1024</span></span><span>);
</span><span><span class="hljs-comment">// အချက်အလက်အမြောက်အများကိုရေးပါ</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">10000</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">$file</span></span><span>, </span><span><span class="hljs-string">"This is line number <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">$file</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Data written successfully!"</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">"Unable to open file!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဒီဥပမာမှာစာရေးစစ်ဆင်ရေးအတွက် scry_file.txt ဖိုင်ကိုဖွင့်ပြီးရေးစပ်ကြားခံရတဲ့ buffer အရွယ်အစားကို 1MB (i.e. 1024 * 1024 bytes) ကိုသတ်မှတ်ပါ။ ဤနည်းအားဖြင့် PHP သည်ဒေတာများကိုရေးသားသည့်အခါ PHP သည်အချက်အလက်များကိုရေးသောအခါမှတ်ဉာဏ်ကြားခံရှိဒေတာများကိုပထမဆုံးသိမ်းဆည်းထားလိမ့်မည်။
Buffer အရွယ်အစားကိုအတန်အသင့်ဖြေရှင်းခြင်း အမှန်တကယ်အခြေအနေများအရချိန်ညှိရန်လိုအပ်သည်။
Close Buffer : အကယ်. $ Buffer 0 မှ 0 င်ပါက PHP သည် cache ကို disable လုပ်လိမ့်မည်။ ဤစစ်ဆင်ရေးသည်ဒေတာများကိုပစ်မှတ်လွှင့်ဌာနသို့တိုက်ရိုက်ရေးပါမည်။
Read cache နှင့်အလုပ်လုပ်ပါ ။ အကယ်. သင်သည်တစ်ချိန်တည်းတွင်ဖတ်ရှုစွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်လိုအပ်ပါကပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်အကောင်းဆုံးရလဒ်များရရှိရန်အတွက် Read Buffer ၏အရွယ်အစားကိုချိန်ညှိရန် Stream_set_Read_Buffer ကို သုံးနိုင်သည်။
Steam_set_write_buffer သည် PHP တွင်အင်အားကြီးသောစီးဆင်းမှုလုပ်ဆောင်မှုဖြစ်သည်။ Erite cache အရွယ်အစားကိုကျိုးကြောင်းဆီလျော်စွာသတ်မှတ်ခြင်းအားဖြင့်၎င်းသည်ဖိုင်သို့မဟုတ်ကွန်ယက်စီးဆင်းမှုဆိုင်ရာအရေးအသား၏စွမ်းဆောင်ရည်ကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါစာရေးခြင်းကြားခံအရွယ်အစားကိုပိုမိုကောင်းမွန်စေရန်လျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အရေးကြီးသောနည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းကိုအသုံးပြုသောအခါအကောင်းဆုံးစွမ်းဆောင်ရည်မျှတမှုရရှိရန်အတွက်တိကျသောမြင်ကွင်းလိုအပ်ချက်များနှင့်အညီသင့်လျော်သောကြားခံအရွယ်အစားကိုချိန်ညှိပါ။