PHP တွင် stream_get_filters () သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ compression, encryption, encoding စသဖြင့်စာဖတ်ခြင်း , စာဝှက်ခြင်းစသည်တို့ကိုဖတ်ရှုခြင်းသို့မဟုတ်ရေးသားသည့်အခါအချက်အလက်များကိုကူးယူရန်သို့မဟုတ်လုပ်ငန်းစဉ်များကိုပြောင်းလဲရန်သို့မဟုတ်လုပ်ငန်းစဉ်များကိုပြောင်းလဲရန်အသုံးပြုနိုင်သည်။
Stream filter သည် PHP Stream Wrapper ၏အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး၎င်းသည်ဒေတာထုတ်လွှင့်နေစဉ်အချက်အလက်များကိုပုံမှန်အတိုင်းပြုလုပ်ခြင်းဖြင့်လုပ်ဆောင်သည်။ ဥပမာအားဖြင့်, ဖိုင်တစ်ခုမှဒေတာများကိုဖတ်ရှုသောအခါဖိုင်တစ်ခုသို့မရေးမီဒေတာများကို compress လုပ်နိုင်သည်။
ဘုံ filter များပါဝင်သည်:
string.rot.rot.rot.rot13 : Rot13 string ကို encoding ။
string.toupper : string ကိုစာလုံးအကြီးအဖြစ်ပြောင်းလဲပေးသည်။
string.tolower : string ကိုစာလုံးအသေးပြောင်းရန်။
convert.base64-encode နှင့် convert.base64-decode : base64 contact.base64-decode: base64 encoding သို့မဟုတ် data decoding ။
လက်ရှိ PHP ပတ် 0 န်းကျင်ရှိရရှိနိုင်သည့် stream filter များစာရင်းတွင်ပါ 0 င်သည့်ခင်းကျင်းမှုများကိုရရှိရန် stream_get_get_efilters () function ကိုသုံးနိုင်သည်။
<?php
$filters = stream_get_filters();
echo "ရရှိနိုင်သည့်စီးဆင်းမှု filter များ:\n";
print_r($filters);
?>
ဒီကုဒ်ကို run ပြီးတဲ့နောက်မှာဒီလိုမျိုး output ကိုရလိမ့်မယ်။
ရရှိနိုင်သည့်စီးဆင်းမှု filter များ:
Array
(
[0] => zlib.*
[1] => string.rot13
[2] => string.toupper
[3] => string.tolower
[4] => convert.*
)
မှတ်ချက် - ကွဲပြားခြားနားသော PHP တပ်ဆင်ခြင်းများသည် install လုပ်ထားသော extension module ပေါ် မူတည်. ကွဲပြားသော filter များကိုစာရင်းပြုစုနိုင်သည်။
File အကြောင်းအရာများကိုစာလုံးအကြီးများသို့ပြောင်းရန် filter များအသုံးပြုခြင်း၏ဥပမာတစ်ခုကိုပြသကြစို့။
<?php
$filename = 'output.txt';
$fp = fopen($filename, 'w');
// အရေးအသားအတွက်လျှောက်ထားပါ string.toupper စိမ့်ထွက်
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "hello, gitbox.net!\n");
fwrite($fp, "this is a test.\n");
fclose($fp);
echo "ဖြည့်စွက်ပါ,ကျေးဇူးပြုပြီးဖိုင်ကိုစစ်ဆေးပါ $filename。\n";
?>
ဤကုဒ်သည်အက္ခရာများအားလုံးကိုအလိုအလျောက်ပြောင်းလဲသည့်အခါစာလုံးပေါင်းကိုအလိုအလျောက်ပြောင်းလဲစေမည့် output.txt ဖိုင်ကိုဖန်တီးလိမ့်မည်။ ဖိုင်ကိုဖွင့်ပြီးနောက်အကြောင်းအရာသည် -
HELLO, GITBOX.NET!
THIS IS A TEST.
PHP သည် local file stream များကိုသာမက URL streams များကိုဖွင့်ရန် FOPEN () ကို သုံးနိုင်သည်။ (ခွင့် ပြု ပါ။ ဥပမာအားဖြင့်:
<?php
$url = 'https://gitbox.net/data.txt';
$fp = fopen($url, 'r');
// စာဖတ်တဲ့အခါလျှောက်ထားပါ ROT13 စိမ့်ထွက်
stream_filter_append($fp, 'string.rot13');
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
?>
https://gitbox.net/data.txt ပါ 0 င်သည့်အကြောင်းအရာသည်ပုံမှန်စာသားဖြစ်သည်ဟုယူဆသည်။