PHP တွင် output buffer သည် browser သို့ပို့သောအကြောင်းအရာများကိုယာယီသိုလှောင်ထားသောအရေးကြီးသောအယူအဆတစ်ခုဖြစ်သည်။ ob_clean ( ) obffer ကိုသန့်ရှင်းရေးလုပ်ရန်သို့မဟုတ် flush ပြုလုပ်ရန်များသောအားဖြင့်အသုံးပြုသောအများအားဖြင့်အသုံးပြုသော functions နှစ်ခုဖြစ်သော output buffer များ၏အပြုအမူကိုထိန်းချုပ်ရန် PHP သည်လုပ်ငန်းများကိုထိန်းချုပ်ရန်လုပ်ငန်းများကိုထောက်ပံ့ပေးသည်။ သူတို့ကဆင်တူတယ်,
OB_CLEAN () function ကို function ကိုလက်ရှိ output buffer ကိုပိတ်ပြီး Buffer ရှိ contents များကိုဖယ်ရှားရန်အသုံးပြုသည်။ ဆိုလိုသည်မှာဤလုပ်ဆောင်ချက်ကိုခေါ်ဆိုပြီးနောက်ကြားခံအကြောင်းအရာကိုစွန့်ပစ်လိုက်ပြီးစာမျက်နှာသည်မည်သည့်အကြောင်းအရာကိုမှထုတ်လုပ်လိမ့်မည်မဟုတ်ပါ။ ဤသည်ကိုများသောအားဖြင့်အချို့သောကိစ္စရပ်များတွင်အသုံးပြုလေ့ရှိသည်။
ကြည့်ရှုပါ ။
output content ကိုပြုပြင်ရန်သို့မဟုတ်လုပ်ငန်းစဉ်ကိုပြုပြင်ရန်လိုအပ်သော်လည်းလက်ရှိကြားခံရှိအကြောင်းအရာများကို browser သို့မပို့လိုပါက ob_clean () ကို သုံးနိုင်သည်။
အကယ်. မည်သည့်အခြေအနေကိုဖွင့်ပြီးနောက်မှအကြောင်းအရာ output ကို output လုပ်ရန်မလိုဟုသင်တွေ့ရှိပါကအချို့သောအခြေအနေများအရ output ကိုရှိမရှိဆုံးဖြတ်ရန်လိုအပ်သည်။
နမူနာကုဒ် :
<span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>(); </span><span><span class="hljs-comment">// output ကြားခံစတင်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"This content will be discarded."</span></span><span>; </span><span><span class="hljs-comment">// cache အကြောင်းအရာ cache</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_end_clean</span></span><span>(); </span><span><span class="hljs-comment">// Buffer အကြောင်းအရာကိုလွှင့်ပစ်ပါ,အဘယ်သူမျှမ output ကို</span></span><span>
</span><span><span class="hljs-comment">// အထက်ပါစာသားကိုစာမျက်နှာပေါ်တွင်ပြလိမ့်မည်မဟုတ်ပါ</span></span><span>
</span></span>
ob_flush () function ကို buffer ၏ contents ၏ contents ကို browser သို့ချက်ချင်းပို့ရန်အသုံးပြုသည်။ သို့သော်ကြားခံကိုမပိတ်ပါ။ ၎င်းသည် Buffer ရှိအချက်အလက်များကို 0 န်ဆောင်မှုခံယူသူ၏အချက်အလက်များကိုရိုးရိုးရှင်းရှင်းဖွင့်ထားပြီးကြားခံသည်တည်ရှိနေတုန်းပဲ။
ကြည့်ရှုပါ ။
အကယ်. သင်လုပ်ဆောင်နေစဉ်အတွင်း browser မှအချက်အလက်များကို browser တွင် browser တွင်ချက်ချင်း output လုပ်လိုလျှင်, သင်ဒေတာများကိုဆက်လက်ထည့်သွင်းရန်ဆက်လက်လုပ်ဆောင်ရန်ကြားခံကိုဆက်ထိန်းထားလိုပါက OB_FLUSH () ကို သုံးနိုင်သည်။
Ob_Flush () ကို ပုံမှန်အားဖြင့်အစီရင်ခံစာများသို့မဟုတ်တိုးတက်မှုပြဘားအသစ်ပြောင်းခြင်းကဲ့သို့သောအချိန်နှင့်တပြေးညီ output pamarios များကိုကိုင်တွယ်လေ့ရှိသည်။
နမူနာကုဒ် :
<span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>(); </span><span><span class="hljs-comment">// output ကြားခံစတင်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"This content will be flushed to the browser."</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">ob_flush</span></span><span>(); </span><span><span class="hljs-comment">// ကြားခံကို refresh,အကြောင်းအရာကို browser သို့ပို့ပါ</span></span><span>
</span><span><span class="hljs-comment">// စာမျက်နှာသည်အထက်ပါစာသားကိုချက်ချင်းပြလိမ့်မည်,နောက်ဆက်တွဲအကြောင်းအရာနေဆဲ buffered လိမ့်မည်</span></span><span>
</span></span>
ob_clean () နှင့် ob_lush () obfast bfords နှင့်ဆက်စပ်သောလုပ်ဆောင်ချက်နှစ်ခုစလုံးသည်လုပ်ငန်းဆောင်တာနှစ်ခုလုံးရှိသော်လည်း၎င်းတို့သည်ကွဲပြားခြားနားစွာပြုမူသည်။
Buffer အပြောင်းအလဲနဲ့
ob_clean () ကြားခံရှိအရာအားလုံးကိုဖယ်ရှားပြီးကြားခံကိုပိတ်လိုက်သည်။
ob_flush () သည် buffer ရှိ contents များကို browser သို့ output လုပ်လိမ့်မည်။ သို့သော်ကြားခံကိုမပိတ်ပါ။ ကြားခံသည်တည်ရှိနေတုန်းပါ။ အကြောင်းအရာကိုသင်ဆက်လက်ရေးနိုင်သည်။
ရလဒ်ရလဒ် -
ob_clean () သည် ကြားခံရှိအချက်အလက်များကိုရှင်းလင်းသောကြောင့်မည်သည့်အရာကိုမဆိုထုတ်လုပ်မည်မဟုတ်။
ob_flush () ()) သည် လက်ရှိကြားခံရှိအကြောင်းအရာကို browser မှချက်ချင်းထုတ်ပေးလိမ့်မည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် ob_clean () နှင့် ob_clush () ကိုတစ်ခါတစ်ရံတွင်တိကျသောလိုအပ်ချက်များနှင့်ကိုက်ညီရန်အသုံးပြုကြသည်။ ဥပမာအားဖြင့်, အကယ်. သင်သည်ဒေတာအမြောက်အမြားသို့မဟုတ်တက်ကြွသောအကြောင်းအရာများကိုလုပ်ဆောင်ရန်လိုအပ်ပါကအသုံးပြုသူ browser မှအကြောင်းအရာအချို့ကိုအချိန်မီထုတ်ယူလိုပါကအချို့အကြောင်းအရာများကို output လုပ်ရန်မလိုလားပါ။
Phase output : ဖိုင်ကြီးများကိုထုတ်လုပ်ခြင်းသို့မဟုတ်ကြီးမားသောဖိုင်များကိုထုတ်လုပ်သည့်အခါသင်မလိုချင်တဲ့အကြောင်းအရာအချို့ကိုစွန့်လွှတ်ရန်နှင့် OB_END_CLEAN ( ) ကို refres abfflush () ကိုသုံးနိုင်သည်။
အသုံးမကျသောအကြောင်းအရာများကိုသန့်ရှင်းရေးလုပ်ပါ ။ အကယ်. အချို့သောအကြောင်းအရာများသည်မျှော်လင့်ချက်များနှင့်မကိုက်ညီကြောင်းသင်တွေ့ရှိပါက Ob_Flush () ကို အသုံးပြု. OB_END_CLEAN () ကို သုံးနိုင်သည်။
နမူနာကုဒ်:
<span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>(); </span><span><span class="hljs-comment">// output ကြားခံစတင်ပါ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"This content will be flushed."</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">ob_flush</span></span><span>(); </span><span><span class="hljs-comment">// ကြားခံကို refresh内容到浏览器</span></span><span>
</span><span><span class="hljs-comment">// နောက်ဆက်တွဲအကြောင်းအရာအချို့သည် output ကိုမလိုအပ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_end_clean</span></span><span>(); </span><span><span class="hljs-comment">// နောက်ဆက်တွဲမလိုချင်တဲ့ကြားခံအကြောင်းအရာစွန့်ပစ်</span></span><span>
</span><span><span class="hljs-comment">// စာမျက်နှာကိုပြလိမ့်မည်“ This content will be flushed.”</span></span><span>
</span></span>
ob_clean () ကို output buffer ရှိ contents များကိုဖယ်ရှားရန်နှင့်ကြားခံကိုပိတ်ရန်အသုံးပြုသည်။
ob_flush () ကို output buffer မှ output buffer တွင် browser သို့ flush လုပ်ရန်အသုံးပြုသော်လည်းကြားခံကိုမပိတ်ပါ။
ဖွံ့ဖြိုးတိုးတက်မှုတွင်မည်သည့်နည်းလမ်းကိုရွေးချယ်ရန်နည်းလမ်းပေါ်မူတည်သည်။ အကယ်. Buffer ရှိအကြောင်းအရာများကိုဖယ်ရှားရန်လိုအပ်ပါက ob_clean () ကို သုံးနိုင်သည်။ အကယ်. သင်သည်ကြားခံနှင့် output ကို browser ကို browser ထဲသို့သိမ်းထားလိုပါက ob_flush () ကို သုံးနိုင်သည်။ အချို့သောအခြေအနေများတွင်သင်ပိုမိုပြောင်းလွယ်ပြင်လွယ် output ကိုထိန်းချုပ်မှုအတွက်ပေါင်းစပ်။ အသုံးပြုနိုင်သည်။