PHP တွင် Stream_get_Filters () function သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ရရှိနိုင်သည့် stream filters အားလုံးကိုစာရင်းပြုစုနိုင်သည့်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ stream filter များကသင့်အားစာဝှက်ခြင်း, ချုံ့ခြင်း,
ရရှိနိုင်သည့်စာဝှက်စနစ်ဖြည့်စွက်မှုအားလုံးကိုသင်မြင်လိုပါက stream_get_filters () function သည်၎င်းကိုအကောင်အထည်ဖော်ရန်လွယ်ကူသောနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည် stream_get_filters များကိုအသုံးပြုနည်း () စနစ်ရှိရရှိနိုင်စာဝှက်စနစ်ဖြည့်စွက်မှုအားလုံးကိုစာရင်းပြုစုရန်နှင့်၎င်းတို့ထဲမှအချို့သည်အတိုချုပ်နိဒါန်းပေးရန်အသေးစိတ်မိတ်ဆက်ပေးလိမ့်မည်။
stream filter များက PHP မှပေးသော file stream သို့မဟုတ်အခြား stream အမျိုးအစားကိုဖွင့်သောအခါအချက်အလက်များကိုလုပ်ဆောင်ရန်အတွက်အချက်အလက်များကိုလုပ်ဆောင်ရန်ဖြစ်သည်။ ဥပမာအားဖြင့်, သင်သည်ဖိုင်တစ်ခုကိုဖတ်ရှုသောအခါသို့မဟုတ်ကွန်ယက်တစ်ခုမှအချက်အလက်များကိုရယူသည့်အခါအချက်အလက်များကိုစာဝှက်ရန် stream filter တစ်ခုကိုသုံးနိုင်သည်။ ဘုံစာဝှက်ထားတဲ့စီးဆင်းမှု filter တွေမှာ မက်စ်နဲ့ openssl ပါ 0 င်ပါတယ်။ * နှင့်ဆက်စပ်သောစစ်ထုတ်ကိရိယာများ။
ရရှိနိုင်သည့်စစ်ထုတ်ကိရိယာများအားလုံးကိုစာရင်းပြုစုရန်, သင်သည် stream_get_filters () function ကိုသုံးရန်လိုအပ်သည်။ ရရှိနိုင်သည့် filter အမည်များအားလုံးပါ 0 င်သည့် array တစ်ခုရရှိစေသည်။ ၎င်းကိုအောက်ပါကုဒ်များမှတစ်ဆင့်အကောင်အထည်ဖော်နိုင်သည်။
<?php
// အားလုံးရရှိနိုင် filter များကိုရယူပါ
$filters = stream_get_filters();
// output filter စာရင်း
echo "အားလုံးရရှိနိုင် stream filter များ:\n";
foreach ($filters as $filter) {
echo $filter . "\n";
}
?>
အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် stream_get_filters () ရရှိနိုင်သည့် filter name များပါ 0 င်သောခင်းကျင်းမှုကိုပြန်လည်ပေးအပ်သည်။ အကယ်. သင်၏ PHP ပတ် 0 န်းကျင်သည်စာဝှက်စနစ်စစ်ထုတ်ကိရိယာများကိုအထောက်အကူပြုပါကအောက်ပါနှင့်ဆင်တူသည့် output ကိုသင်တွေ့လိမ့်မည်။
all
convert.iconv.*
mcrypt.*
openssl.*
zlib.*
PHP တွင်အသုံးများသော encryption-encryption နှင့်သက်ဆိုင်သော stream filter များကို McRrypt သို့မဟုတ် Openssll မှတဆင့်ထောက်ပံ့ပေးသည်။ ဤစစ်ထုတ်စက်များသည်သင်၏ဒေတာစီးထဲ၌စာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းလုပ်ငန်းများကိုအကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။ ဥပမာအားဖြင့်:
Mcrypt အများအားဖြင့် filter များမှာ Mcrypt.rijndael-128 နှင့် Mcrypt.des တို့ ပါဝင်သည်။
OpenSSLL ဘုံစစ်ထုတ်ခြင်းများတွင် OpenSSL.cipher နှင့် OpenSSL.decrypt တို့ပါ 0 င်သည်။
ဤစစ်ထုတ်သည့်အချိန်များဖြင့်အချက်အလက်များ၏လုံခြုံရေးကိုသေချာစေရန်ဒေတာများကိုစာဝှက်။ စာဝှက်နိုင်သည်။ ဥပမာအားဖြင့်:
<?php
// နမူနာ:အသုံးပြု OpenSSL ဒေတာ encryption အတွက် stream filter
$data = "Hello, world!";
$encryptedData = stream_filter_append($data, "openssl.cipher", STREAM_FILTER_WRITE, [
'cipher' => 'aes-256-cbc',
'key' => 'secretkey'
]);
echo "စာဝှက်ထားတဲ့ဒေတာ: " . $encryptedData;
?>
စာဝှက်ထားတဲ့ filter တစ်ခုမှတဆင့်အချက်အလက်များကို URL လိပ်စာသို့လွှဲပြောင်းလိုပါက Stream_get_Filters () ဖြင့်ပြန်လည်လည်ပတ်နိုင်သည်။ ဥပမာအားဖြင့်, သင်ဒေတာများကိုစာဝှက်ရန်နှင့် URL သို့ပို့လိုပါကအောက်ပါကုဒ်ကိုသုံးနိုင်သည်။
<?php
$url = "https://gitbox.net/api/secure/upload";
// အားလုံးရရှိနိုင် filter များကိုရယူပါ
$filters = stream_get_filters();
// စစ်ဆေးပြီး encryption filter များကိုစစ်ဆေးပါ
if (in_array('openssl.cipher', $filters)) {
$data = "Sensitive data that needs encryption";
// ဒေတာများကိုစာဝှက်ပြီးပို့ပါ
$encryptedData = stream_filter_append($data, 'openssl.cipher', STREAM_FILTER_WRITE, [
'cipher' => 'aes-256-cbc',
'key' => 'secretkey'
]);
// 将စာဝှက်ထားတဲ့ဒေတာ通过 URL ပေးပို့
file_put_contents($url, $encryptedData);
}
?>
ဤဥပမာတွင်ရရှိနိုင်သည့်စစ်ထုတ်စက်များအားလုံးကိုအရင်စာရင်းပြုစုပြီး Openssl.cipher filter ရှိလားဆိုတာအတည်ပြုပါ။ အကယ်. ရရှိနိုင်ပါကအချက်အလက်များကိုစာဝှက်ပြီးစာဝှက်ထားတဲ့အချက်အလက်များကို https://gitbox.net/api/api/api/secture/upload သို့ပို့ပါ။
stream_get_filters () function မှတဆင့်သင်အဆင်သင့်သော php ထောက်ပံ့ထားသော stream filters များအားလုံးကိုစာဝှက်ခြင်း, compression, encoding နှင့်ပြောင်းလဲခြင်းလုပ်ငန်းများအပါအ 0 င် PHP ကိုစာရင်းပြုစုနိုင်သည်။ Mcrypt သို့မဟုတ် Opensssl ကဲ့သို့သော encrypted stream filter များကိုသင်အသုံးပြုရန်လိုအပ်ပါက၎င်းကို stream_filter_append () function မှတဆင့်ဒေတာစီးဆင်းမှုကိုကျင့်သုံးပါ။
PHP ရှိ Stream filter များသည်အလွန်အစွမ်းထက်သည်။ ဖိုင်စစ်ဆင်ရေးလုပ်နေစဉ်ဒေတာများကိုစာဝှက်ခြင်းသို့မဟုတ်စာဝှက်ခြင်းသာဖြစ်သည်။