လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> File Streams ၏အကြောင်းအရာကိုစိတ်ကြိုက်ပြုပြင်ရန် Stream_get_Filters ကိုအသုံးပြုနည်း။

File Streams ၏အကြောင်းအရာကိုစိတ်ကြိုက်ပြုပြင်ရန် Stream_get_Filters ကိုအသုံးပြုနည်း။

gitbox 2025-05-19

PHP တွင် processing file streams များသည်အလွန်အမင်းပုံမှန်လည်ပတ်မှုတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည် stream_get_filters ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးမည်, မှတ်ပုံတင်ခြင်း fils များကိုမှတ်ပုံတင်ရန်နှင့်မှတ်ပုံတင်ခြင်းနှင့်လက်မှတ်ထိုးရန်မှတ်ပုံတင်ခြင်းနှင့်လက်မှတ်ထိုးရမည်။

stream_get_filters function ကဘာလဲ?

Stream_get_Filters သည် PHP တွင် built-in function တစ်ခုဖြစ်ပြီးလက်ရှိရရှိနိုင်သည့် stream filds များ၏အမည်များကိုပြန်ပို့သည်။ stream filter များကို data streams များကိုပြုပြင်ရန် (သို့) လုပ်ငန်းစဉ်များကိုပြုပြင်ရန်အသုံးပြုသည်။

function ကိုအဓိပ္ပါယ်:

 array stream_get_filters(void);

ဤလုပ်ဆောင်ချက်သည် PHP တွင်တည်ဆောက်ထားသောစစ်ထုတ်စက်များအပါအ 0 င်မှတ်ပုံတင်ထားသောစစ်ထုတ်သည့်အမည်များအားလုံးပါ 0 င်သည့် array တစ်ခုသို့ပြန်ပို့သည်။ ဖိုင်စီးဆင်းမှုများကိုဖတ်ရှုခြင်းသို့မဟုတ်ရေးသားသည့်အခါ stream filter များကို compress, compress, encrypt data များကိုပြောင်းလဲရန်အသုံးပြုနိုင်သည်။

stream_get_filters ကိုသုံးပြီး filter များစာရင်းကိုဘယ်လိုရနိုင်မလဲ။

ပထမ ဦး စွာကျွန်ုပ်တို့သည် 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 အားလုံး၏အမည်များကိုထုတ်ပေးသည်။

Custom Filent filter တစ်ခုကိုမှတ်ပုံတင်ပါ

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 င်သောအကြောင်းအရာများကိုထုတ်လွှင့်သည်။

URL streaming protocol ကိုအသုံးပြုခြင်း

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 ကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်ရန်သင့်အားပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။