PHP တွင်စက်များ, ကွန်ယက်များ, စက်ပစ္စည်းများစသဖြင့် PHP သည် files များ, ကွန်ရက်များ, စက်ပစ္စည်းများစသဖြင့်ထုတ်လုပ်သောယန္တရားများကိုထုတ်လုပ်သည့်ယန္တရားတစ်ခုဖြစ်သည်။ stream_get_filters နှင့် stream_filter_remove သည်များသောအားဖြင့်အသုံးပြုသောစမ်းချောင်း function များကိုအသုံးပြုကြသည်။ ဤဆောင်းပါးသည်စမ်းရေစီစစ်ကိုအကောင်အထည်ဖော်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့ပေါင်းစပ်ရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
Stream filter သည်ချောင်းများအတွက်အသုံးချသည့်ယန္တရားတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်, ဖိုင်စီးပေါ်ရှိအခြားစစ်ဆင်ရေးများကိုစာဝှက်ရန်, စာဝှက်ခြင်း, decompress နှင့်အခြားလုပ်ငန်းများကိုစာဝှက်ရန် stream filter တစ်ခုကိုသုံးနိုင်သည်။
PHP သည် built-in stream filter များအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ အသုံးပြုသူများသည် stream filter များကိုလည်းစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ string.toupper ကဲ့သို့သောဘုံစစ်ထုတ်ကိရိယာများသည်ဒေတာများကို stream တစ်ခုတွင်စာလုံးများအဖြစ်ပြောင်းလဲနိုင်သည်။
Stream_get_Filters () function ကို PHP တွင်ရရှိနိုင်သည့် stream filds အားလုံး၏စာရင်းကိုပြန်ပို့သည်။ ဤလုပ်ဆောင်ချက်သည် filter အမည်များအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။
$filters = stream_get_filters();
print_r($filters);
ဤကုဒ်ကိုကွပ်မျက်ခံရခြင်းတွင်ရရှိနိုင်သည့် filter အားလုံးကိုစာရင်းပြုစုထားသည်။ PHP - ထောက်ပံ့ထားသောစစ်ထုတ်သည့်စစ်ထုတ်စက်များကိုဤစာရင်းမှကြည့်ရှုပြီးမည်သည့် filter သည်သင်၏လိုအပ်ချက်များအတွက်သင့်လျော်သည်ကိုဆုံးဖြတ်နိုင်သည်။
stream_filter_remove () function ကိုစီးဆင်းနေသောစစ်ထုတ်ကိရိယာများကိုဖယ်ရှားရန်အသုံးပြုသည်။ ဆိုလိုသည်မှာသင်သည်စီးဆင်းမှုကိုလုပ်ဆောင်ရန် filter တစ်ခုမလိုအပ်တော့ပါက၎င်းကိုဖယ်ရှားရန်ဤ function ကိုသုံးနိုင်သည်။ ဤစစ်ဆင်ရေးသည်စီးဆင်းမှုကိုမပိတ်ပါ။
$filter = stream_filter_append($stream, 'string.toupper');
stream_filter_remove($filter);
ဤကုဒ်တွင် stream_filter_append () သည်ဒေတာများကိုစာလုံးအကြီးများသို့ပြောင်းလဲစေသည့် LAEM $ စီး ထဲသို့ထည့်ရန်အသုံးပြုသည်။ ထို့နောက်ဤ filter ကို steam_filter_remove မှတဆင့်ဖယ်ရှားပေးသည်။
ကျွန်ုပ်တို့တွင်စာသားစီးတစ်စီရှိသည်ဆိုပါစို့။ စာသားအားလုံးကိုစာလုံးအမြောက်အများအဖြစ်ပြောင်းရန် Stream သို့ filter တစ်ခုထည့်လိုပါသည်။ အချို့သောအခြေအနေများတွင်ဤ filter ကိုဖယ်ရှားပြီးမူရင်းစာသားကိုပြန်ယူပါ။
<?php
// စာသားစီးကိုဖွင့်ပါ
$stream = fopen('php://temp', 'r+');
fwrite($stream, "Hello World! This is a test message.");
rewind($stream);
// အားလုံးရရှိနိုင် filter များကိုရယူပါ
$filters = stream_get_filters();
echo "Available filters:\n";
print_r($filters);
// filter ကိုသုံးပါ,အကြောင်းအရာများကိုအရင်းအနှီးသို့ပြောင်းပါ
$filter = stream_filter_append($stream, 'string.toupper');
// စီးဆင်းမှုအတွက်ဖတ်နှင့် output ကို data(ရှိပြီးသားမြို့တော်၌တည်၏)
rewind($stream);
echo "After applying 'string.toupper' filter:\n";
echo fread($stream); // ထုတ်လုပ်ခြင်း: HELLO WORLD! THIS IS A TEST MESSAGE.
// filter ကိုဖယ်ရှားပါ
stream_filter_remove($filter);
// 重新စီးဆင်းမှုအတွက်ဖတ်နှင့် output ကို data(မူရင်းစာသားကိုပြန်ယူပါ)
rewind($stream);
echo "\nAfter removing the filter:\n";
echo fread($stream); // ထုတ်လုပ်ခြင်း: Hello World! This is a test message.
?>
Stream ကိုဖွင့်ပါ ။ fopen မှတဆင့်ယာယီမှတ်ဉာဏ်စီးဆင်းမှုကိုဖွင့်ပြီး 'PHP: // Temp', 'r +' ကို ဖွင့်ပြီးစာသားအချက်အလက်အချို့ကိုရေးပါ။
ရရှိနိုင်သည့် filter အားလုံးကိုရယူပါ ။ Request_get_Filters () ကို သုံးရန်နှင့်၎င်းတို့အားပုံနှိပ်ထုတ်ဝေသောဖြည့်ဆည်းရန်အသုံးပြုပါ။ ဤစာရင်းမှတစ်ဆင့်သင်လျှောက်ထားလိုသောစစ်ထုတ်စက်များကိုရွေးချယ်နိုင်သည်။
DESTSS : string_filter_append () function ကိုသုံးပါ။ စာသားအားလုံးကိုစာလုံးအကြီးသို့ပြောင်းရန်အတွက် stringper_toupper filter ကိုထည့်ပါ။
Remove filter : stream_filter_remove () ကို filter ကိုဖယ်ရှားရန် filter ကိုဖယ်ရှားရန် filter ကိုဖယ်ရှားရန်အသုံးပြုပါ။
output data : filter ကိုလျှောက်ထားခြင်းနှင့်ဖယ်ရှားခြင်းပြီးနောက် filter fulform ပြောင်းလဲမှုများကိုပြသရန် filter မှတဆင့်စမ်းချောင်းတွင်အချက်အလက်များကိုထုတ်လွှင့်သည်။
Available filters:
Array
(
[0] => string.toupper
[1] => convert.iconv.utf-8.utf-16
[2] => convert.iconv.utf-16.utf-8
[3] => string.rot13
[4] => string.lower
...
)
After applying 'string.toupper' filter:
HELLO WORLD! THIS IS A TEST MESSAGE.
After removing the filter:
Hello World! This is a test message.
stream_get_filters () function ကို function ကို stream ဒေတာကို process လုပ်ဖို့တိုက်ရိုက်အသုံးပြုနိုင်သည့်ရရှိနိုင်သည့်စစ်ထုတ်စက်များကိုပြန်ပို့သည်။
String.toupper filter သည် stream ရှိအရာအားလုံးကိုစာလုံးကြီးများသို့ပြောင်းလဲပေးသည်။
stream_filter_remove () လုပ်ဆောင်ချက်အရ function ကို function ကိုဖယ်ရှားပြီးနောက်စီးဆင်းမှုရှိအကြောင်းအရာများသည်၎င်း၏မူလပြည်နယ်သို့ပြန်သွားသည်။
stream_get_filters နှင့် stream_filter_remove မှတစ်ဆင့်ကျွန်ုပ်တို့သည်စီးဆင်းမှုအချက်အလက်များ၏လုပ်ငန်းစဉ်ကိုပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်နိုင်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုသည် dynamically dynamically dynamically ပြောင်းခြင်းကိုပြောင်းလဲစေသောအချို့သောအခြေအနေများတွင်အလွန်အသုံးဝင်သည်။ သင်သည် Runtime တွင်ကွဲပြားသောစစ်ထုတ်စက်များကိုရွေးချယ်နိုင်သည်သို့မဟုတ်မူရင်းအချက်အလက်များကိုပြန်လည်ရယူရန်အချို့အခြေအနေများအောက်တွင်၎င်းတို့အားဖယ်ရှားနိုင်သည်။