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

ob_list_handlers နှင့် ob_get_clean ကိုပေါင်းစပ်ရန်သိကောင်းစရာများ

gitbox 2025-05-28

PHP တွင် Output Control သည်အထူးသဖြင့်စာမျက်နှာကိုမပြန်မီ output ကိုကိုင်တွယ်ရန်လိုအပ်သည့်အခါအလွန်လက်တွေ့ကျသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ob_list_handlers () သည် PHP output buffering နှင့်သက်ဆိုင်သော tool function တစ်ခုဖြစ်သည်။ ၎င်းကို ob_start () နှင့် obget_clean) အဖြစ်အသုံးများသောအရာမဟုတ်သော်လည်းလက်ရှိ output stack state ကို debugging နှင့်နားလည်ခြင်းသည်အလွန်အထောက်အကူပြုသည်။

ဤဆောင်းပါးသည်လက်တွေ့ကျတဲ့အစွန်အဖျားကိုပြသရန် OB_List_Handlers () နှင့် ob_get_clean () ကိုပေါင်းစပ်။ နားလည်ရန်သင့်အားဤဆောင်းပါးကသင့်အားချက်ချင်းနားလည်နိုင်သည်။

ob_list_handlers () ?

ob_list_handlers () function ကိုလက်ရှိ output buffer တွင်မှတ်ပုံတင်ထားသော output handlers အားလုံးကိုပြန်ပို့ရန်အသုံးပြုသည်။ ob_gzhandler ကဲ့သို့သော ob_start () ဟုခေါ်သည့်အခါဤကိုင်တွယ်သူများကိုသင်သို့မဟုတ်မူဘောင်များကသတ်မှတ်လေ့ရှိသည်။

function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 array ob_list_handlers(void)

ဥပမာ 1 - လက်ရှိကြားခံ၏ပရိုဆက်ဆာကိုကြည့်ပါ

 <?php
// စတင်ပါ gzip compressed ကြားခံ
ob_start('ob_gzhandler');

// လက်ရှိ output processor စာရင်းကိုကြည့်ပါ
print_r(ob_list_handlers());

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

output သည်ဆင်တူနိုင်သည်။

 Array
(
    [0] => ob_gzhandler
)

ဒီ function ဟာ debugging လုပ်ဖို့အလွန်သင့်လျော်သည်,

ob_get_clean () output content ကိုထိန်းချုပ်ရန်

တခါတရံတွင်ကျွန်ုပ်တို့သည်အချို့သော output computing အပိုင်းအစတစ်ခုကိုဖမ်းယူရန်လိုအပ်သည် (ဥပမာပုံမှန်အစားထိုးခြင်း, သစ်ထုတ်လုပ်ခြင်းစသဖြင့်) ပြီးတော့၎င်းကိုထုတ်ယူရန်လိုအပ်သည်။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်၎င်းကိုအောင်မြင်ရန် OB_START () နှင့် obget_clean () ကို သုံးနိုင်သည်။

ဥပမာ 2: ပုံရိပ်လိပ်စာ domain name ကို HTML output တွင် filter လုပ်ပါ

 <?php
ob_start();

// ဤသည်သင်၏စာမျက်နှာ၏အချို့သောအစိတ်အပိုင်းများကို၏ output ကိုဖြစ်ပါတယ်ဆိုပါစို့
?>
<div>
    <img src="https://example.com/uploads/pic1.jpg" />
    <img src="https://example.com/uploads/pic2.jpg" />
</div>
<?php

$content = ob_get_clean();

// ပုံလိပ်စာကိုအစားထိုးသည့်ဒိုမိန်းအမည်ဖြစ်သည် gitbox.net
$filtered = str_replace('https://example.com', 'https://gitbox.net', $content);

echo $filtered;
?>

ထုတ်လုပ်မှု -

 <div>
    <img src="https://gitbox.net/uploads/pic1.jpg" />
    <img src="https://gitbox.net/uploads/pic2.jpg" />
</div>

ဤနည်းလမ်းသည်အထူးသဖြင့်သင့်လျော်စွာပြုလုပ်လိုပါက (စာရင်းဇယား scripts scripts များထည့်သွင်းခြင်း, html, links များကို compressing လုပ်ခြင်း) Ob_List_Handlers ကို အသုံးပြုခြင်းအားဖြင့်ဖွံ့ဖြိုးရေးစဉ်အတွင်း output ယုတ္တိဗေဒနှင့်အတူမလိုအပ်သော handler 0 င်ရောက်စွက်ဖက်မှုမရှိပါ။