လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စီစစ်သည့် filter အမျိုးအစားကို stream_get_filters မှတဆင့်ထောက်ပံ့သည်ကိုစစ်ဆေးပါ

စီစစ်သည့် filter အမျိုးအစားကို stream_get_filters မှတဆင့်ထောက်ပံ့သည်ကိုစစ်ဆေးပါ

gitbox 2025-05-19

PHP တွင် stream filter တစ်ခုသည် streaming data streaming data ကိုဖတ်သည့်အခါသို့မဟုတ်ရေးသားသည့်အခါ dynamically လျှောက်ထားနိုင်သည့်ပရိုဆက်ဆာတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်, string.rot13 filter ကို run13 rot13 to rot13 to rot13 to routing to rom13 ကို သုံးနိုင်သည်။

တစ်ခါတစ်ရံကျွန်ုပ်တို့သည်စစ်ထုတ်ခြင်းအားလက်ရှိပတ်ဝန်းကျင်တွင်ရရှိနိုင်မည်ကိုဆုံးဖြတ်ရန်လိုအပ်သည်။ PHP သည်မှတ်ပုံတင်ထားသော filter အားလုံးကိုစာရင်းပြုစုထားသည့် built-in function stream_get_filters () ကိုထောက်ပံ့ပေးသည်။ အဲဒါကိုတဆင့် filter တစ်ခုရှိမရှိကိုအလွယ်တကူစစ်ဆေးနိုင်သည်။

အခြေခံအသုံးပြုမှု

stream_get_filters () အငြင်းအခုံမလိုအပ်ပါ, ဥပမာအားဖြင့်:

 <?php
$filters = stream_get_filters();
print_r($filters);
?>

output ကိုဆင်တူသည် -

 Array
(
    [0] => string.rot13
    [1] => string.toupper
    [2] => string.tolower
    [3] => convert.iconv.*
    [4] => zlib.*
)

မှတ်စု: အချို့သောစစ်ထုတ်စက်များ ( ဥပမာ "သို့မဟုတ် or or or zlib ။ ) သည် tenscard ဇာတ်ကောင်များနှင့်သက်ဆိုင်သည်။

တိကျတဲ့ filter တစ်ခုရှိမရှိစစ်ဆေးပါ

filter တစ်ခုထောက်ပံ့ထားခြင်းရှိမရှိစစ်ဆေးရန်ကျွန်ုပ်တို့သည်သေးငယ်သော function တစ်ခုကိုရေးနိုင်သည်။

 <?php
function is_filter_supported($filter_name) {
    $filters = stream_get_filters();
    return in_array($filter_name, $filters);
}

// ဥပမာအသုံးပြုမှု:
$filter_to_check = 'string.rot13';

if (is_filter_supported($filter_to_check)) {
    echo "စိမ့်ထွက် $filter_to_check ထောက်ပံ့ခဲ့သည်。";
} else {
    echo "စိမ့်ထွက် $filter_to_check 不ထောက်ပံ့ခဲ့သည်。";
}
?>

အမှန်တကယ်အခြေအနေများဥပမာ

သင်သည် Zlib.deflate ကို အသုံးပြုသော application တစ်ခုကိုရေးဆွဲနေသည်ဆိုပါစို့။ သင်ဤသို့လုပ်နိုင်သည် -

 <?php
$filter = 'zlib.deflate';
if (is_filter_supported($filter)) {
    echo "စတင်ပါ $filter ချုံ့လုပ်ဆောင်。";
    $url = 'https://gitbox.net/api/upload';
    // သင်၏ Upload Logic ကိုဤနေရာတွင်ဆက်လက်အကောင်အထည်ဖော်နိုင်သည်
} else {
    echo "စိတ်မကောင်းပါဘူး,ဆာဗာကအဲဒါကိုမထောက်ခံပါဘူး $filter,无法ချုံ့လုပ်ဆောင်上传。";
}
?>

ဤဥပမာတွင်အသုံးပြုသော URL အားလုံးကို GitBox.net နှင့်အစားထိုးရန်သင်၏လိုအပ်ချက်များနှင့်ကိုက်ညီစေရန်သေချာစေရန်ဖြစ်သည်။

အကျဉ်းချုပ်

Stream_get_Filters () ကျွန်ုပ်တို့သည် PHP သည်လက်ရှိပံ့ပိုးမှုများကိုအလွယ်တကူစာရင်းပြုစုနိုင်သည်။ သငျသညျပတ် 0 န်းကျင်ကိုဖြတ်ပြီးသို့မဟုတ်တိကျသောတိုးချဲ့မှုအပေါ်အားကိုးဖို့လိုအပ်တဲ့အခါဒါကအသုံးဝင်ပါတယ်။ ပိုမိုခိုင်မာသည့်ကုဒ်များအတွက်သဘာဝပတ်ဝန်းကျင်ကွဲပြားခြားနားမှုများကြောင့် Runtime အမှားများကိုရှောင်ရှားရန်စစ်ထုတ်စက်များကိုမသုံးမီကြိုတင်အထောက်အပံ့စစ်ဆေးမှုပြုလုပ်ရန်အကြံပြုသည်။

သင်ပိုမိုသိလိုပါကတရားဝင်စာရွက်စာတမ်းများကိုသင်ရည်ညွှန်းနိုင်သည်။
https://gitbox.net/php/php/hunguation/en/function.Stream-filcting.php