PHP တွင် stream filter များသည်အားကောင်းသောယန္တရားတစ်ခုဖြစ်ပြီး၎င်းကိုစာမဖတ်မီသို့မဟုတ်စာဖြင့်ရေးသားထားသောသို့မဟုတ်ရေးသားခြင်းမပြုမီအချက်အလက်များကိုလုပ်ဆောင်ရန်ခွင့်ပြုသည့်ယန္တရားတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်, ဖိုင်တစ်ခုကိုဖတ်သည့်အခါအကြောင်းအရာများကိုစာလုံးအကြီးသို့အလိုအလျောက်ပြောင်းလဲနိုင်သည်, သို့မဟုတ်ကွန်ယက်တောင်းဆိုမှုသို့စာရေးသောအခါအကြောင်းအရာကိုအလိုအလျောက်ချုံ့နိုင်သည်။
လက်ရှိ PHP ပတ် 0 န်းကျင်တွင်တင်ဆောင်ထားသောစစ်ထုတ်သည့်စစ်ထုတ်စက်များကိုကြည့်ရှုရန်သင် stream_get_filters () function ကိုသုံးနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်မှတ်ပုံတင်ထားသော filter အမည်များအားလုံးပါ 0 င်သည်။
အောက်ဖော်ပြပါတိကျသောအသုံးပြုမှုဥပမာများကိုကြည့်ကြပါစို့။
<?php
$filters = stream_get_filters();
echo "loaded filter များစာရင်း:\n";
foreach ($filters as $filter) {
echo "- {$filter}\n";
}
?>
ဒီကုဒ်ကို run ပြီးတဲ့နောက် (မင်းရဲ့ PHP ပတ်ဝန်းကျင်ပေါ်မူတည်ပြီး) အောက်ပါအတိုင်း output ကိုတွေ့ရလိမ့်မယ်။
loaded filter များစာရင်း:
- string.rot13
- string.toupper
- string.tolower
- convert.iconv.*
- convert.*
- zlib.*
- bzip2.*
စီးဆင်းမှုကိုမှန်ကန်စွာ stream_filter_filter_propend () , stream_filter_proilte () စသည်ဖြင့်ဤစစ်ထုတ်စက်များကိုတိုက်ရိုက်အသုံးပြုနိုင်သည်။
ကျွန်ုပ်တို့တွင်စာသားဖိုင် ဥပမာ ရှိသည်ဟုဆိုပါစို့။ contents များသည်စာလုံးအသေးများအားလုံးဖြစ်သည်။ ကျွန်ုပ်တို့သည်၎င်းကိုဖတ်ရှုလိုပြီး output output ကိုအလိုအလျောက်ပြောင်းလဲလိုသည်။
<?php
$filename = 'example.txt';
$handle = fopen($filename, 'r');
if ($handle) {
stream_filter_append($handle, 'string.toupper');
while (!feof($handle)) {
echo fgets($handle);
}
fclose($handle);
} else {
echo "ဖိုင်ကိုဖွင့ ်. မရပါ: {$filename}";
}
?>
ဤကုဒ်သည်အကြောင်းအရာကိုလက်ဖြင့်ခေါ်ဆိုခြင်းမရှိဘဲဖိုင်ကိုစာဖတ်ခြင်းမပါဘဲဖိုင်ကိုစာလုံးအကြီးသို့အလိုအလျောက်ပြောင်းလဲလိမ့်မည် ။
အကယ်. သင်၏ကုဒ်သည်တိကျသော filter တစ်ခုပေါ်တွင်မူတည်ပါက၎င်းသည်ပထမ ဦး ဆုံးတင်ဆောင်ခြင်းရှိမရှိစစ်ဆေးရန်အကောင်းဆုံးဖြစ်သည်။
<?php
$neededFilter = 'string.toupper';
$filters = stream_get_filters();
if (in_array($neededFilter, $filters)) {
echo "စိမ့်ထွက် {$neededFilter} တင်ခဲ့သည်,အသုံးပြုရန်အဆင်သင့်。\n";
} else {
echo "စိမ့်ထွက် {$neededFilter} မရရှိနိုင်ပါ,ကျေးဇူးပြု။ ကျသင့်ငွေတွက်ပေးပါPHPကွက်ကွက်ကေျာင်း。\n";
}
?>
အချို့ဖြစ်ရပ်များတွင် PHP: // filter ကို ရယူရန်အတွက် URL မှတစ်ဆင့် stream filter တစ်ခုကိုသုံးနိုင်သည်။
<?php
$url = 'php://filter/read=string.toupper/resource=https://gitbox.net/example.txt';
$content = file_get_contents($url);
if ($content !== false) {
echo $content;
} else {
echo "ဝေးလံခေါင်သီသောအရင်းအမြစ်များကိုမဖတ်နိုင်ပါ。";
}
?>
ဤကုဒ်သည် https://gitbox.net/exampexampexampexampexampexportx မှအကြောင်းအရာများကိုဖတ်နေစဉ်စာလုံးအကြီးသို့တိုက်ရိုက်ပြောင်းလဲသည်။