PHP ပရိုဂရမ်တွင် ထွက်ပေါက် နှင့် ob_end_flush () သည်ဘုံလုပ်ဆောင်မှုများဖြစ်သည်။ Exit ကို script_flush () သည် carded content ကို output လုပ်ရန်နှင့် output buffer ကိုပိတ်ရန်အသုံးပြုသော script ၏ကွပ်မျက်မှုကိုအဆုံးသတ်ရန်အသုံးပြုသည်။ လုပ်ဆောင်ချက်နှစ်ခုသည်ကွဲပြားခြားနားသော်လည်းအချို့ကိစ္စများတွင်၎င်းတို့ကိုအတူတကွအသုံးပြုနိုင်သည်။ ထို့ကြောင့် ထွက်ပေါက် နှင့် ob_end_flush () အတူတကွအသုံးပြုသောအခါ၎င်းတို့တွင်ပ conflicts ိပက်ခများရှိပါသလား။ အသေးစိတ်ခွဲခြမ်းစိတ်ဖြာမှုမှတစ်ဆင့်သူတို့၏လိုက်ဖက်မှုကိုကျွန်ုပ်တို့နားလည်လိမ့်မည်။
ထွက်ပေါက် () function ကိုလက်ရှိ script ၏ကွပ်မျက်မှုကိုအဆုံးသတ်ရန်သို့မဟုတ် status code ကို output လုပ်ရန်နှင့်ကွပ်မျက်မှုကိုအဆုံးသတ်ရန်အသုံးပြုသည်။ အောက်ပါအတိုင်းအသုံးပြုရန်အလွန်ရိုးရှင်းပါသည် -
exit("Goodbye!");
ဤကုဒ်နံပါတ်သည် "Goodbye!" ကိုထုတ်ပစ်လိမ့်မည်။ နှင့် script ၏ကွပ်မျက်ရပ်ဆိုင်း။ Exit သည် ကိန်းဂဏန်းများကို script execution အတွက် status code အဖြစ်လည်းရနိုင်သည်။ ဇာတ်ညွှန်းသည်ဆိုးဝါးသောအမှားတစ်ခုကိုတွေ့သောအခါ ထွက်ပေါက် (1) မှထွက်ရန်မှာပုံမှန်အားဖြင့် ထွက်ပေါက် (0) မှထွက်ပေါက်မှထွက်နိုင်သည်။
exit(1); // ထွက်ပေါက်နှင့် status ကုဒ်ကိုပြန်သွားပါ 1
ob_end_flush () သည် PHP output buffer နှင့်သက်ဆိုင်သော function တစ်ခုဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာကြားခံအကြောင်းအရာများကို browser မှ output လုပ်ရန်နှင့် output buffer ကိုပိတ်ရန်ဖြစ်သည်။ အကယ်. output buffer ကိုမဖွင့်ပါကဤလုပ်ဆောင်ချက်ကိုခေါ်ဆိုသည့်အခါသတိပေးချက်တစ်ခုဖြစ်ပေါ်လာလိမ့်မည်။
ob_start(); // output ကို buffering စတင်ပါ
echo "Hello, world!";
ob_end_flush(); // output ကိုကြားခံနှင့် buffer ပိတ်ပါ
OB_END_FLUSH () ထွက်ပေါက် () ထွက်ပေါက် (), ထွက်ပေါက် () ကိုတိုက်ရိုက်ခေါ်ဆိုပါကထွက်ပေါက် () ထွက်ပေါက် () ကို အသုံးပြုသောအခါ script uncourme ကိုတိုက်ရိုက်အဆုံးသတ်လိမ့်မည်။ ဆိုလိုသည်မှာ ထွက်ပေါက် () ကိုခေါ်ပါက, output-juspered content အပါအ 0 င်နောက်ဆက်တွဲ PHP ကုဒ်ကိုကွပ်မျက်ခြင်းကိုရပ်တန့်သွားလိမ့်မည်။ ထို့ကြောင့် ထွက်ပေါက် () output buffer ၏ contents ၏ contents ကို browser ကိုလုံးဝမပို့ပါ။
ob_start(); // output ကို buffering စတင်ပါ
echo "Hello, ";
ob_end_flush(); // ပထမ ဦး ဆုံး output ကို cache
exit("Goodbye!"); // ကရိယာတန်းဆာ exit,script ကိုရပ်စဲ
ဤဥပမာတွင် "မင်္ဂလာပါ," OB_END_FLUSH () နှင့် "နှုတ်ဆက်ခြင်း" မှတဆင့် output ဖြစ်လိမ့်မည်။ ထွက်ပေါက် () မှဖျက်သိမ်းလိမ့်မည်။ ထို့ကြောင့် OB_END_FLUSH () ကို မထွက်ခွာမီ ဟုခေါ်ပါကယခင်အကြောင်းအရာများမှန်ကန်စွာ output ကိုမှန်ကန်စွာထုတ်လွှတ်လိမ့်မည်, သို့သော်အောက်ပါ ထွက်ပေါက် () သည်နောက်တဖန် output ကိုဖြစ်လိမ့်မည်မဟုတ်ပေ။
OB_END_FLUSH () ကို ပထမ ဦး စွာ execute လုပ်ပါ က Output Buffer ရှိအကြောင်းအရာကိုယခုအချိန်တွင် Browser သို့ပို့သည် ။ တစ်နည်းပြောရလျှင် OB_END_FLUSH () သည် Buffer ၏ contents ကို browser သို့ပထမဆုံးထုတ်ပြန်လိမ့်မည် ။
ob_start(); // output ကို buffering စတင်ပါ
echo "Starting...";
ob_end_flush(); // output ကိုကြားခံနှင့် buffer ပိတ်ပါ
exit("Ending now.");
ဒီဥပမာမှာ browser ဟာအရင်က "စတင် ... " ကို အရင်ပြလိမ့်မယ်။ ပြီးတော့ဇာတ်ညွှန်းကချက်ချင်းရပ်စဲ လိမ့်မယ် မပြဘူး။
OB_END_FLUSH () ထွက်ပါ။ သို့မဟုတ်ထွက်ပါ။ အများအားဖြင့်ပြ problem နာမရှိပါ။ အများအား ဖြင့် ပြ problem နာမရှိပါ ။
ထွက်ပေါက် () ကိုခေါ်ပါ။ ထို့နောက် ob_end_flush () ကိုခေါ်ပါ ။ Ob_end_Flush ( ) မှထွက်ပေါ်လာ ပါက out_end_flush () ကိုခေါ်ပါက output buffer အကြောင်းအရာကို browser သို့ပို့မည်မဟုတ်ပါ။ ဘာဖြစ်လို့လဲဆိုတော့ Exit () သည် scription (ob_end_flush () အပါအ 0 င်) scription ( ob_end_flush () အပါအ 0 င်) သည် Excription code များဖြင့်အဆုံးသတ်လိမ့်မည်။
Nested output buffering : ob_start () သို့မဟုတ် ob_flush () ob_sd_flush () ကိုအကြိမ်ပေါင်းများစွာအသုံးပြုပါက, ob_end_flush ကိုမခေါ်မီအကြိမ်ကြိမ်အသုံးပြုပါက၎င်းတို့၏ခေါ်ဆိုမှုအစီအစဉ်ကိုသတိထားပါ။
ထွက်ပေါက် () နှင့် ob_end_flush () တွင်အသုံးပြုသောအခါပ conflicts ိပက်ခများရှိသည်ဖြစ်စေ, မလိုအပ်သောပြ problems နာများကိုရှောင်ရှားရန် ob_end_flush ( ) ကိုခေါ်ပြီးနောက်ထွက်ပေါက် () ကို အမြဲတမ်းခေါ်ဆိုရန်အစဉ်မပြတ်ထုတ်ဖော်ပြောဆိုရန်, ob_end_flush () ကို မထွက် ခင် ဟုခေါ်ပါက,
ဤလုပ်ဆောင်မှုနှစ်ခု၏ခေါ်ဆိုမှုအမိန့်ကိုကျိုးကြောင်းဆီလျော်စွာစီမံခန့်ခွဲခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပရိုဂရမ်၏ output ကို ထွက်ပေါက်ခေါ်ဆိုမှု၏ထွက်ပေါ်လာခြင်းကြောင့်အကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ကြောင်းသေချာစေနိုင်သည်။