လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ob_clean အတွက်လိုအပ်ချက်များကဘာတွေလဲ, ပြီးတော့ ob_flush ကိုသုံးပါ။ သူတို့ကိုအတူတကွအသုံးပြုခြင်းကိုအဘယ်အသေးစိတ်အချက်အလက်များကိုအာရုံစိုက်သင့်သနည်း။

ob_clean အတွက်လိုအပ်ချက်များကဘာတွေလဲ, ပြီးတော့ ob_flush ကိုသုံးပါ။ သူတို့ကိုအတူတကွအသုံးပြုခြင်းကိုအဘယ်အသေးစိတ်အချက်အလက်များကိုအာရုံစိုက်သင့်သနည်း။

M66 2025-07-04

1 ။ output ကိုကြားခံဘာလဲ

output buffering ဆိုသည်မှာ PHP သည် script ကို execute လုပ်သည့်အခါမှတ်ဉာဏ်ကြားခံတွင် output content ကိုသိုလှောင်ထားသည်။ PHP သည်ဤအကြောင်းအရာများကို script ကိုကွပ်မျက်သည်အထိဤအကြောင်းအရာများကို browser သို့မပို့ပါ။ output buffering သည် output ၏အချိန်ကိုက်ခြင်းနှင့်မလိုအပ်သော output ကိုအချိန်ကုန်ခြင်းနှင့်စာမျက်နှာတင်ခြင်းကိုအရှိန်မြှင့်တင်နိုင်သည်။

Ob_clean နှင့် ob_clush () တွင် oblust bfordush () အကြား oblust ကြားကြားမှုနှင့်ပတ်သက်သော output buffering နှင့်သက်ဆိုင်သောလုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးသည်။


2 ။ OB_CLEAN () နှင့် ob_flush ၏အခန်းကဏ် of ကို

1 ။ ob_clean () function ကို

Ob_clean ၏ရည်ရွယ်ချက်သည်လက်ရှိ output buffer ရှိအကြောင်းအရာများကိုရှင်းလင်းရန်ဖြစ်သည်။ သို့သော်၎င်းသည်ကြားခံကိုမပိတ်ပါ။ အကယ်. သင်ထုတ်လုပ်သည့်အခါ output ကိုပြုပြင်ပြောင်းလဲရန်သို့မဟုတ်ပြန်လည်တပ်ဆင်လိုပါကလက်ရှိကြားခံအကြောင်းအရာကိုရှင်းလင်းရန် OB_CLEAN () ကို သုံးနိုင်သည်။ ဥပမာအားဖြင့်:

 ob_start(); // output ကို buffering စတင်ပါ
echo "Hello, world!";
ob_clean(); // ကြားခံရှင်းလင်းပါ
echo "New content"; // output အသစ်အကြောင်းအရာ
ob_end_flush(); // browser မှ output buffer အကြောင်းအရာ

အထက်ပါကုဒ်တွင် Ob_clean () သည် မင်္ဂလာပါ, ကမ္ဘာကြီးကိုဖျက်ပစ်လိမ့်မည်။ ဒါကြောင့်နောက်ဆုံး output ကို အကြောင်းအရာအသစ်ဖြစ်ပါတယ်ကြောင်း

2 ။ ob_flush () function ကို

ob_flush ၏ရည်ရွယ်ချက်မှာလက်ရှိကြားခံ၏ contents ၏ contents ကို browser သို့ပို့ရန်ဖြစ်သည်။ သို့သော်ကြားခံကိုရှင်းလင်းမည်မဟုတ်ပါ။ ၎င်းသည် Buffer ရှိအကြောင်းအရာများကို buffer မှ browser သို့ browser သို့ "frome" ဖြစ်သော်လည်းနောက်ဆက်တွဲအသုံးပြုမှုအတွက်ကြားခံအကြောင်းအရာကိုဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။ ဥပမာအားဖြင့်:

 ob_start();
echo "This is buffered.";
ob_flush(); // အကြောင်းအရာကို browser သို့ပို့ပါ,但不ကြားခံရှင်းလင်းပါ
echo "Next output.";
ob_end_flush(); // နောက်ဆုံးတွင် Browser မှ Buffer အကြောင်းအရာအားလုံးကို output လုပ်ပါ

Ob_Flush () ကို အချိန်မှန်တွင်အသုံးပြုရန်အတွက်အသုံးပြုသောအချိန်မှန်ကိုပြန်လည်ပြုပြင်ရန်အသုံးပြုလေ့ရှိသည်။ ဥပမာအားဖြင့်ဖိုင်တစ်ခုလုံးကိုဖြည့်ဆည်းပေးသည့်အခါအကြောင်းအရာတစ်ခုလုံးကိုဖြည့်စွက်ရန် 0 န်ဆောင်မှုခံယူသူအား 0 န်ဆောင်မှုခံယူရန်အသုံးပြုသည်။


3 ။ ob_clean () နှင့် ob_flush () ကို အသုံးပြုသည့်အခါကြိုတင်ကာကွယ်မှုများ

ob_clean () နှင့် ob_flush () ကိုအတူတကွအသုံးပြုနိုင်သော်လည်း၎င်းတို့၏အမိန့်နှင့်အသုံးပြုမှုအခြေအနေများအထူးဂရုပြုရန်လိုအပ်သည်။

  1. ပထမ ဦး ဆုံးရှင်းရှင်းလင်းလင်းပြီးတော့ refresh:
    Brofer တွင်လက်ရှိ output ကိုရှင်းလင်းပြီး browser ထဲသို့အကြောင်းအရာအသစ်များကိုချက်ချင်းပေးပို့လိုပါကဤလုပ်ဆောင်ချက်များကိုအောက်ပါအတိုင်းအသုံးပြုနိုင်သည်။

     ob_start(); // output ကို buffering စတင်ပါ
    echo "Old content";
    ob_clean(); // ကြားခံရှင်းလင်းပါ
    echo "New content"; // အကြောင်းအရာအသစ်
    ob_flush(); // 将အကြောင်းအရာအသစ်发送到浏览器
    

    ဤနည်းလမ်းသည်သင်အနေဖြင့် output ထဲတွင်ပါဝင်လိုသောအကြောင်းအရာဟောင်းများမပါ 0 င်လိုသောနေရာများနှင့် output ကိုချက်ချင်းလန်းဆန်းစေလိုသည်။

  2. ရှုပ်ထွေးသောကြားခံများကိုရှောင်ကြဉ်ပါ။
    ob_clean () ob_flush () ကိုအသုံးပြုပြီးနောက်ကွပ်မျက်ခံရခြင်းမခံရပါက, အထူးသဖြင့် ob_flush () ကို အကြိမ်ပေါင်းများစွာဟုခေါ်သောအခါ၎င်းသည်ရလဒ်များအရ output content တွင်ပုံတူပွားခြင်းသို့မဟုတ်ရှုပ်ထွေးမှုများကိုဖြစ်ပေါ်စေနိုင်သည်။

  3. ob_flush သို့ခေါ်ဆိုမှုများစွာကိုသတိပေးသည် -
    ရှည်လျားသောပြေး scripts များကဲ့သို့သောဖြစ်ရပ်များတွင် (ထိုကဲ့သို့သောဖိုင်တင်ခြင်းသို့မဟုတ်ဒေါင်းလုပ်များသို့မဟုတ်ဒေါင်းလုပ်များကဲ့သို့), buffer ၏ contents ၏ contents ကို Refresh လုပ်သည့်အခါတိုင်း ob_flush () ကို အကြိမ်ပေါင်းများစွာခေါ်ဆိုရန်လိုအပ်နိုင်သည်။ အသုံးပြုသောအခါ, Refresh တစ်ခုချင်းစီကိုလိုအပ်ကြောင်းသေချာစေပြီး Ob_clean နှင့်မဆန့်ကျင်ပါ။


4 ။ ပေါင်းစပ်အသုံးပြုသောအခါမှတ်သားဖို့အရာ

  1. အဆိုပါကြားခံဖွင့်သေချာစေရန်:
    ob_clean ()) သို့မဟုတ် ob_flush () ကို မသုံးမီ output output buffering ကိုသေချာအောင်လုပ်ပါ ( ob_start) ) ။ ဒီလိုမှမဟုတ်ရင်ဒီလုပ်ဆောင်ချက်တွေကိုခေါ်ဆိုခြင်းကမမှန်ကန်ပါ။ မမှန်ကန်သောစစ်ဆင်ရေးတစ်ခုဖြစ်ပေါ်လိမ့်မည်။

     ob_start(); // Buffer ကိုပထမဆုံးဖွင့်ရမည်ဖြစ်သည်
    ob_clean();
    
  2. ကျိုးကြောင်းဆီလျော် unls ကိုအသုံးပြုတဲ့အခါ:
    သင်၏ code တွင် URL တစ်ခုကိုထည့်သွင်းရန်လိုအပ်ပါက (ဥပမာ ECL ၏ URL ကို output), URL ၏ domain name name သည် m66.net ကို အသုံးပြုသည်။ ဥပမာအားဖြင့်: