PHP တွင် Subeam ** သည်ဖိုင်များ, ကွန်ယက်များနှင့်မှတ်ဉာဏ်ကဲ့သို့သောအရင်းအမြစ်များကိုလုပ်ဆောင်ရန်စည်းလုံးညီညွတ်သောနည်းလမ်းဖြစ်သည်။ Stream filter တစ်ခုသည်ဒေတာကိုဖတ်ရန် (သို့) ရေးသားခြင်းကိုဖတ်ရှုခြင်းသို့မဟုတ်ရေးသားခြင်းကိုပြုလုပ်သောအခါစီးဆင်းနေသောကိရိယာတစ်ခုနှင့်ဆက်စပ်သောကိရိယာတစ်ခုဖြစ်သည်။ PHP သည်လက်ရှိရရှိနိုင်သည့် filter များကိုကြည့်ရှုရန် built-in function stream_get_filters () ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်သင့်အားမည်သို့အသုံးပြုရမည်ကိုလေ့လာရန်နှင့်ဤစစ်တမ်းများ၏အခြေအနေနှင့်ဂုဏ်သတ္တိများကိုမည်သို့ကြည့်ရှုရန်မည်သို့လေ့လာရမည်ကိုလေ့လာပါလိမ့်မည်။
stream_get_filters () PHP stream စနစ်တွင်လက်ရှိမှတ်ပုံတင်ထားသောစစ်ထုတ်သည့်အမည်များအားလုံးကိုပြန်လည်ပေးအပ်သောရိုးရှင်းသောသို့သော်လက်တွေ့လုပ်ဆောင်ချက်ဖြစ်သည်။
$filters = stream_get_filters();
print_r($filters);
ရလဒ်အနေဖြင့်ရလဒ်များသည်များသောအားဖြင့် possessings:
Array
(
[0] => zlib.*
[1] => string.rot13
[2] => string.toupper
[3] => convert.iconv.*
...
)
ဤအမည်များသည် zlib.deflate , string.toupper စသည့်စမ်းချောင်းနှင့်ချိတ်ဆက်နိုင်သောစစ်ထုတ်စက်များနှင့်ကိုက်ညီသည်။
stream_get_filters () သူ့ဟာသူသည် filter names များကိုသာစာရင်းပြုစုထားသော်လည်းအခြားလုပ်ဆောင်မှုများနှင့်ပေါင်းစပ်ပြီး fune များကိုထုတ်လွှင့်ရန်နှင့်စမ်းသပ်မှုများမှတဆင့်သူတို့၏အပြုအမူများကိုသင်ပြုလုပ်နိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
$stream = fopen('php://temp', 'w+');
// အပိုဆောင်းစစ်ထုတ်ကိရိယာများ
stream_filter_append($stream, 'string.toupper');
// စာလုံးအသေးများရေးပါ
fwrite($stream, 'gitbox.net test');
// စီး၏ start အနေအထားကိုပြန်သွားပါ
rewind($stream);
// ရလဒ်ကိုဖတ်ရှုခြင်းနှင့် output ကို
echo stream_get_contents($stream);
// စီးကိုပိတ်ပါ
fclose($stream);
?>
အထက်ပါကုဒ်သည် output ကိုဖြစ်လိမ့်မည်။
GITBOX.NET TEST
ဤအချက်က string.toupper filter သည်စာလုံးအသေးများကိုစာလုံးအကြီးသို့ပြောင်းလဲနေသည်ကိုဖော်ပြသည်။
PHP တွင် "Properties" ကိုရရှိရန် "Properties" ကိုရရှိရန် "Properties" ၏အသေးစိတ်အချက်အလက်များသို့မဟုတ်အသေးစိတ်အချက်အလက်များနှင့်အသေးစိတ်အချက်အလက်များကဲ့သို့ပင်၎င်းသည်စာရွက်စာတမ်းများသို့မဟုတ်စမ်းသပ်ချက်များမှတဆင့်သင်ယူနိုင်သည်။
Zlib.Deflate ကဲ့သို့သောရှုပ်ထွေးသောစစ်ထုတ်စက်များအတွက်သင်၏ compression အကျိုးသက်ရောက်မှုကိုသင်စစ်ဆေးနိုင်သည်။
<?php
$data = str_repeat('gitbox.net ', 10);
$stream = fopen('php://temp', 'w+');
// ပူးတွဲပါ zlib.deflate စိမ့်ထွက်
stream_filter_append($stream, 'zlib.deflate');
// ဒေတာရေးပါ
fwrite($stream, $data);
rewind($stream);
// compressed ဒေတာကိုဖတ်ပါ
$compressed = stream_get_contents($stream);
echo 'မူရင်းအရှည်: ' . strlen($data) . PHP_EOL;
echo 'ချုံ့အရှည်: ' . strlen($compressed) . PHP_EOL;
fclose($stream);
?>
သင်အရှည်နှိုင်းယှဉ်မှုနှင့်မနှိုင်းယှဉ်မီနှင့်အပြီးနှင့်နှိုင်းယှဉ်ပါကဤ filter ကိုနားလည်ရန်ကူညီလိမ့်မည်။
လက်ရှိရရှိနိုင်သည့် filter list ရရှိရန် stream_get_filters () ကို သုံးပါ။
filter ကို filter သို့ dvern_filter_append () ကို အသုံးပြုပါ။ filter ၏အမှန်တကယ်အကျိုးသက်ရောက်မှုကိုလေ့လာရန် Fille () နှင့် fread () ကဲ့သို့သောလုပ်ဆောင်မှုများကိုပေါင်းစပ်ပါ။
အသေးစိတ်အတွက်တော့တရားဝင် PHP မှတ်တမ်းများကိုစမ်းသပ်ချက်မှတစ်ဆင့်လေ့လာရန်သို့မဟုတ်စူးစမ်းလေ့လာရန်အကြံပြုသည်။
ဤနည်းစနစ်များကိုကျွမ်းကျင်စေခြင်းအားဖြင့်သင်သည် PHP streaming system ကိုဖိုင်စစ်ဆင်ရေး, ကွန်ယက်ဆက်သွယ်ရေးသို့မဟုတ်ဒေတာပြောင်းလဲခြင်းရှိမရှိလုပ်ငန်းစဉ်များကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိလိမ့်မည်။
အကယ်. အသေးစိတ်အချက်အလက်များကိုပိုမိုအသေးစိတ်ကြည့်ရှုရန်လိုအပ်ပါက https://gitbox.net/docs/php-stream -Filts သို့ သင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။