PHP တွင် processing file streams များသည်အလွန်အမင်းပုံမှန်လည်ပတ်မှုတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် stream_get_filters ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးမည်, မှတ်ပုံတင်ခြင်း fils များကိုမှတ်ပုံတင်ရန်နှင့်မှတ်ပုံတင်ခြင်းနှင့်လက်မှတ်ထိုးရန်မှတ်ပုံတင်ခြင်းနှင့်လက်မှတ်ထိုးရမည်။
Stream_get_Filters သည် PHP တွင် built-in function တစ်ခုဖြစ်ပြီးလက်ရှိရရှိနိုင်သည့် stream filds များ၏အမည်များကိုပြန်ပို့သည်။ stream filter များကို data streams များကိုပြုပြင်ရန် (သို့) လုပ်ငန်းစဉ်များကိုပြုပြင်ရန်အသုံးပြုသည်။
array stream_get_filters(void);
ဤလုပ်ဆောင်ချက်သည် PHP တွင်တည်ဆောက်ထားသောစစ်ထုတ်စက်များအပါအ 0 င်မှတ်ပုံတင်ထားသောစစ်ထုတ်သည့်အမည်များအားလုံးပါ 0 င်သည့် array တစ်ခုသို့ပြန်ပို့သည်။ ဖိုင်စီးဆင်းမှုများကိုဖတ်ရှုခြင်းသို့မဟုတ်ရေးသားသည့်အခါ stream filter များကို compress, compress, encrypt data များကိုပြောင်းလဲရန်အသုံးပြုနိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် system တွင်ရရှိနိုင်သည့် filter များကိုရရှိရန် Stream_get_Filters ကို သုံးနိုင်သည်။ အောက်ဖော်ပြပါနမူနာကုဒ်သည် filter အားလုံးကိုမည်သို့စာရင်းပြုစုရမည်ကိုပြသသည်။
<?php
// ရရှိနိုင်သည့် stream filter အားလုံးကိုရယူပါ
$filters = stream_get_filters();
// အားလုံး filter များ output
foreach ($filters as $filter) {
echo $filter . PHP_EOL;
}
?>
ဤကုဒ်သည် system-server-support stream filters အားလုံး၏အမည်များကိုထုတ်ပေးသည်။
PHP's Built-in Stream filter ကို အသုံးပြု. Stream_get_Filters သည် ကျွန်ုပ်တို့အားထုံးစံ stream filter များကိုမှတ်ပုံတင်ရန်ခွင့်ပြုသည်။ စိတ်ကြိုက် filter တစ်ခုဖန်တီးရန် PHP function ကိုအကောင်အထည်ဖော်ရန်နှင့် Stream_Filter_Register မှတစ်ဆင့်မှတ်ပုံတင်ရန်လိုအပ်သည်။
အောက်ဖော်ပြပါကုဒ်သည်စာသားများကိုဖိုင်များသို့စာလုံးအကြီးများဖြင့်ပြောင်းလဲရန်ရိုးရှင်းသော stream filter တစ်ခုကိုမည်သို့မှတ်ပုံတင်ရမည်ကိုပြသသည်။
<?php
// Custom Film filter function ကို
function custom_uppercase_filter($resource, $params) {
// ဒေတာကိုဖတ်ပါ
$data = stream_get_contents($resource);
// အရင်းအနှီးမှပြောင်းပါ
return strtoupper($data);
}
// filter ကိုမှတ်ပုံတင်ပါ
stream_filter_register("uppercase", "custom_uppercase_filter");
// ဖိုင်စီးကိုဖွင့်ပါ
$fp = fopen("sample.txt", "r");
// apply filter များ
stream_filter_append($fp, "uppercase");
// လုပ်ငန်းစဉ်ဆိုင်ရာအကြောင်းအရာများကိုဖတ်ပြီးထုတ်ယူပါ
echo stream_get_contents($fp);
// ဖိုင်စီးကိုပိတ်ပါ
fclose($fp);
?>
အထက်ပါကုဒ်များတွင် Custom_upperAge_FileTter ဟုခေါ်သော function တစ်ခုကိုကျွန်ုပ်တို့သတ်မှတ်သည်။ ၎င်းသည် Stream appeam_filter_register မှတစ်ဆင့် စာလုံးအကြီး ဟုခေါ်သော filter တစ်ခုအဖြစ်မှတ်ပုံတင်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ထို filter ကို file stream တွင် အသုံးပြု. လုပ်ငန်းများ၌ပါ 0 င်သောအကြောင်းအရာများကိုထုတ်လွှင့်သည်။
PHP သည် URL protocol မှတစ်ဆင့် Read Remote ဖိုင်များကိုဖတ်ရှုရန်အထောက်အကူပြုသည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ဝေးလံသောဖိုင်များကို HTTP protocol မှတဆင့်ဖတ်နိုင်သည်။ Stream_get_Filters ကို URL streams များကိုထည့်သွင်းရန်, Remote File Content ကိုပြုပြင်ခြင်းကိုဖွင့်ရန်,
<?php
// စိတ်ကြိုက် filter ကိုလုပ်ဆောင်ချက်များကို:စာသားကိုစာလုံးအသေးပြောင်းပါ
function lowercase_filter($resource, $params) {
$data = stream_get_contents($resource);
return strtolower($data);
}
// filter ကိုမှတ်ပုံတင်ပါ
stream_filter_register("lowercase", "lowercase_filter");
// ဖွင့်ထားသောအဝေးမှဖိုင်
$context = stream_context_create([
"http" => [
"header" => "User-Agent: PHP"
]
]);
$fp = fopen("http://gitbox.net/sample.txt", "r", false, $context);
// apply filter များ
stream_filter_append($fp, "lowercase");
// output filtered အကြောင်းအရာ
echo stream_get_contents($fp);
// ဖိုင်စီးကိုပိတ်ပါ
fclose($fp);
?>
ဤဥပမာတွင် HTTP Remote file http://gitbox.net/sampx.txt ကိုဖွင့်ရန် fopen ကို အသုံးပြုသည်။ အကြောင်းအရာများကိုစာလုံးအသေးများသို့ပြောင်းလဲစေသော filter တစ်ခုသည် stream_filter_append function မှတဆင့်အသုံးပြုသည်။
stream_get_filters function သည် PHP တွင် developers များကိုကြည့်ရှုရန်, stream filters များနှင့်မှတ်ပုံတင်ခြင်း file streams များနှင့်အခြားအချက်အလက်များနှင့်အခြားအချက်အလက်များနှင့်အခြားအချက်အလက်များစီးဆင်းမှုအမျိုးအစားများနှင့်အခြားဒေတာများနှင့်အခြားအချက်အလက်များစီးဆင်းမှုအမျိုးအစားများနှင့်အခြားအချက်အလက်များစီးဆင်းမှုအမျိုးအစားများကို အသုံးပြု. မှတ်ပုံတင်ခြင်း။ ဤလုပ်ဆောင်ချက်ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ချုံ့ခြင်း, စာဝှက်ခြင်း,
ဤဆောင်းပါးတွင်ကျွန်ုပ်တို့သည် stream filter များကိုမည်သို့စာရင်းပြုစုရမည်, စိတ်ကြိုက် filter များကိုဖန်တီးရန်, ဤအချက်အလက်သည် file stream ပါဝင်မှုကိုလုပ်ဆောင်ရန်နှင့်အဆင့်မြင့်အချက်အလက်များကိုလုပ်ဆောင်ရန်အတွက် stream_get_filters function ကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်ရန်သင့်အားပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။