လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ob_list_handlers နှင့် ob_clean အတွက်အမှုသုံးပါ

ob_list_handlers နှင့် ob_clean အတွက်အမှုသုံးပါ

gitbox 2025-05-20

PHP ပရိုဂရမ်တွင် output buffers များသည်အလွန်အစွမ်းထက်သောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ output buffer ကိုအသုံးပြုခြင်းသည် output content ကိုယာယီဖမ်းယူနိုင်ပြီးလုပ်ငန်းများဆောင်ရွက်ခြင်းမပြုမီလုပ်ဆောင်မှုများကိုပြုလုပ်နိုင်သည်။ PHP သည် ob_list_handlers () နှင့် ob_clean () ob_clean) ကဲ့သို့သောလုပ်ငန်းများကိုပိုမိုဂရုတစိုက်ထိန်းချုပ်ရန်ကူညီရန်။ ဤဆောင်းပါးသည်ထုတ်လုပ်မှုထိန်းချုပ်မှုကိုပေါင်းစပ်ခြင်းနှင့်၎င်းတို့၏လက်တွေ့ကျသောအပလီကေးရှင်းများဥပမာပေးရန်ဤလုပ်ငန်းဆောင်တာနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။

output buffer ခြုံငုံသုံးသပ်ချက်

output buffer သည်၎င်းကိုမထုတ်လုပ်မီစာမျက်နှာ output ကိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။ ပုံမှန်အားဖြင့် PHP သည် script ၏ output ကို browser သို့တိုက်ရိုက်တိုက်ရိုက်ပေးပို့လိမ့်မည်။ အချို့သောလုပ်ဆောင်ချက်များကိုမှတစ်ဆင့်ကြားခံအကြောင်းအရာများကိုအချို့သော function များကိုရှင်းလင်းရန်နှင့်မည်သည့်အချိန်တွင်မည်သည့်အချိန်တွင်မည်သည့်အချိန်တွင်မထိန်းချုပ်နိုင်ပါ။

ob_list_handlers () နှင့် ob_clean) သည်လက်ရှိ activated output buffer handler ကိုစာရင်းပြုစုရန်နှင့် output buffer ၏ contents ကိုရှင်းလင်းစွာဖော်ပြရန်အသုံးပြုသော objclean () ob_clean () objclean) အတွက်ဘုံလုပ်ဆောင်မှုများဖြစ်သည်။

ob_list_handlers function ကို

ob_list_handlers () function ကို) function ကိုလက်ရှိ output buffer handlers အားလုံးကိုစာရင်းပြုစုရန်အသုံးပြုသည်။ လက်ရှိ output buffer stack ရှိ Handler အားလုံး၏အမည်များပါသောခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ ဤလုပ်ဆောင်မှုကိုခေါ်ဆိုခြင်းဖြင့်လက်ရှိတက်ကြွသော output buffer handlers များရှိမှုရှိမရှိစစ်ဆေးနိုင်သည်။

သဒ္ဒါ:

 array ob_list_handlers ( void )

Value ကိုပြန်သွားပါ

အားလုံးလက်ရှိ output ကြားခံကိုင်တွယ်သူတစ် ဦး ၏အမည်များကိုပြန်ပို့သည်။ မည်သည့်ကိုင်တွယ်သူမျှမဖွင့်ပါကအချည်းနှီးသောခင်းကျင်းမှုကိုပြန်ပို့သည်။

ဥပမာ -

 <?php
// output buffer ကိုဖွင့်ပါ
ob_start();

// စိတ်ကြိုက် Buffer Handler ထည့်ပါ
function custom_output_handler($buffer) {
    return strtoupper($buffer); // output ကိုစာလုံးအကြီးသို့ပြောင်းပါ
}
ob_start("custom_output_handler");

// အကြောင်းအရာအချို့ကို output
echo "hello world";

// လက်ရှိ output buffer handler ကိုစာရင်းပြုစုပါ
$handlers = ob_list_handlers();
print_r($handlers);

// ကြားခံနှင့်အဆုံးသန့်ရှင်း
ob_end_clean();
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Ob_start () မှတဆင့် output buffer ကိုပထမဆုံးဖွင့်သည်။ နောက်တစ်ခုက ob_start () ကို အသုံးပြုသည်။ ထို့နောက်လက်ရှိကြားခံ၏ handler အမည်ကို ob_list_handlers () မှတဆင့်စာရင်းကိုဖော်ပြထားသည်

ob_clean function ကို

ob_clean () function ကို output buffer ရှိအကြောင်းအရာများကိုရှင်းလင်းရန်အသုံးပြုသည်။ သို့သော် output buffer ကိုမပိတ်ပါ။ ကြားခံရှင်းလင်းနေလျှင်ပင် output buffer သည်ဆက်လက်ရှိနေဆဲဖြစ်ပြီးနောက်ဆက်တွဲရလဒ်ကိုဖမ်းယူရန်၎င်းကိုဆက်လက်အသုံးပြုနိုင်သည်။

သဒ္ဒါ:

 bool ob_clean ( void )

Value ကိုပြန်သွားပါ

အောင်မြင်မှုအပေါ် စစ်မှန်တဲ့ ပြန်လာ ,

ဥပမာ -

 <?php
// output buffer ကိုဖွင့်ပါ
ob_start();

// အကြောင်းအရာအချို့ကို output
echo "This is some content.";

// ကြားခံရှင်းလင်းပါ
ob_clean();

// အကြောင်းအရာကိုနောက်တဖန် output ကိုကြိုးစားပါ
echo "This is the new content.";

// output ကြားခံ၏ contents
$content = ob_get_contents();
echo $content;  // ထုတ်လုပ်ခြင်း:This is the new content.

ob_end_clean();
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အကြောင်းအရာအချို့ကိုပထမဆုံးထုတ်လွှင့ သော်လည်း, ကြားခံရှင်းလင်းနေလျှင်ပင်ကျွန်ုပ်တို့သည်အကြောင်းအရာအသစ်များကိုအကြောင်းအရာအသစ်များနှင့်နောက်ဆုံးတွင်ပါဝင်မှုအသစ်များကိုဆက်လက်ထည့်သွင်းရန်ဆက်လက်လုပ်ဆောင်နိုင်သည်။

ob_clean နှင့်အတူ ob_list_handlers () ကို သုံးပါ ()

ဤရွေ့ကားနှစ်ခုလုပ်ဆောင်ချက်များကိုပေါင်းစပ်အ Granular output ကိုထိန်းချုပ်ရန်ပေါင်းစပ်နိုင်ပါတယ်။ ဥပမာအားဖြင့်, outputting မတိုင်မီလက်ရှိကြားခံ၏ handler ကိုစစ်ဆေးနိုင်သည်။

ဥပမာ -

 <?php
// output buffer ကိုဖွင့်ပါ
ob_start();

// အကြောင်းအရာအချို့ကို output
echo "Initial content";

// အသုံးပြုob_list_handlers()လက်ရှိ Buffer Handler ကိုစစ်ဆေးပါ
$handlers = ob_list_handlers();
print_r($handlers);

// လက်ရှိကြားခံအတွက် handler ရှိလျှင်,ကြားခံရှင်းလင်းပါ
if (!empty($handlers)) {
    ob_clean();
}

// Buffer Handler အသစ်တစ်ခုထည့်ပါ
function new_output_handler($buffer) {
    return strtolower($buffer); // 将ထုတ်လုပ်ခြင်း转换为小写
}
ob_start("new_output_handler");

// ထုတ်လုပ်ခြင်း新的内容
echo "New content";

// 获取缓冲区内容并ထုတ်လုပ်ခြင်း
$content = ob_get_contents();
echo $content;  // ထုတ်လုပ်ခြင်း:new content

ob_end_clean();
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အကြောင်းအရာအချို့ကိုပထမဆုံးအကြိမ်ထုတ်လွှင့်ပြီး Ob_list_Handlers မှတဆင့်လက်ရှိ output buffer handler ကိုစစ်ဆေးပါ။ အကယ်. Buffer ကိုရှင်းရှင်းလင်းလင်းရှင်းလင်းရန် SHEARLER တစ်ခုရှိပါက OB_CLEAN () ကို အသုံးပြုသည်။

အကျဉ်းချုပ်

ob_list_handlers () နှင့် ob_clean) လုပ်ဆောင်ချက်များကိုမှတစ်ဆင့် PHP developer များက output buffer ကိုကောင်းစွာထိန်းချုပ်နိုင်သည့် PHP developer များအနေဖြင့်ရလဒ်များကိုအကောင်အထည်ဖော်နိုင်သည်။ Buffer ကိုလက်ရှိ handler ကိုစာရင်းပြုစုခြင်းနှင့် output content ကိုပြောင်းလဲရန်လိုအပ်သည့်အချိန်တွင် Handler အသစ်များထည့်ရန်နေအိမ်များကိုရှင်းလင်းရန်လိုအပ်သည်ကိုသင်စစ်ဆေးနိုင်သည်။ ၎င်းသည်ဝက်ဘ်စာမျက်နှာအကြောင်းအရာများကိုဒိုင်းနမစ်ထုတ်လုပ်ခြင်းနှင့်ပြုပြင်ခြင်းအတွက်အလွန်ပြောင်းလွယ်ပြင်လွယ်ရှိသည်။

Output ထိန်းချုပ်မှုအတွက် PHP တွင် ob_list_handlers () ob_clean () ob_clean) ကို မည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးကသင့်အားနားလည်ရန်ကူညီပေးပါ။ သင့်တွင်မေးခွန်းများရှိပါကသို့မဟုတ်ပိုမိုသိလိုပါကကျွန်ုပ်ကိုဆက်သွယ်ပါ။