လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> cloam_get_filters နှင့် fopen ကိုပေါင်းစပ်နည်း

cloam_get_filters နှင့် fopen ကိုပေါင်းစပ်နည်း

gitbox 2025-05-19

PHP တွင်စစ်ထုတ်စက်များသည် file streams များသို့မဟုတ်အခြားဒေတာများကိုကိုင်တွယ်ရန်အလွန်အစွမ်းထက်။ ပြောင်းလွယ်ပြင်လွယ်ရှိသောနည်းလမ်းတစ်ခုကိုပေးသည်။ စီးဆင်းမှု filter မှတဆင့်ကျွန်ုပ်တို့သည် input data ကိုအချိန်မှန်အတွက်လုပ်ဆောင်နိုင်ပြီးပြုပြင်နိုင်သည်။ ဤဆောင်းပါးတွင် Stream_get_Filters ကိုအသုံးပြုနည်းကို COPEN နှင့်ပေါင်းစပ်ပြီး function function ကိုအကောင်အထည်ဖော်ရန် FOWEN နှင့်ပေါင်းစပ်အသုံးပြုရမည်ကိုအသေးစိတ်လေ့လာမည်။

စီးဆင်းမှု filter ဆိုတာဘာလဲ။

Stream filter များသည် PHP မှပေးသော file streams သို့မဟုတ်အခြား stream အချက်အလက်များကိုလုပ်ဆောင်ရန်ယန္တရားတစ်ခုဖြစ်သည်။ စာဖတ်ခြင်းကိုဖတ်ခြင်းသို့မဟုတ်ရေးသားခြင်းကိုဖတ်သည့်အခါဒေတာများကိုစစ်ထုတ်နိုင်သည်။ ဥပမာအားဖြင့်, ဒေတာချုံ့ခြင်း, စာဝှက်ခြင်း, ဇာတ်ကောင် encoding ပြောင်းလဲခြင်းနှင့်တူအောင် stream filter များကိုလည်းအသုံးပြုနိုင်သည်။

PHP သည် built-in stream filter များကိုထောက်ပံ့ပေးသည်။

  • zlib.inflate (decompression)

  • zlib.deflate (compression)

  • string.toupper (စာသားကိုစာလုံးအကြီးသို့ပြောင်းပါ)

stream_get_filters function ကိုမိတ်ဆက်

stream_get_filters သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ နောက်ဆက်တွဲကုဒ်များအတွက်အသုံးပြုရန်အတွက်မည်သည့်စစ်ထုတ်ကိရိယာများကို PHP သို့မည်သည့်စစ်ထုတ်စက်များကိုတင်နေသည်ကိုကြည့်ရှုရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

function ကိုလက်မှတ်:

 array stream_get_filters ( void )

Parametermer

ဒီ function မှာ parameters တွေကိုရှိပါတယ်။

Value ကိုပြန်သွားပါ

အားလုံးရရှိနိုင် stream filters များပါ 0 င်သည်။

fopen function ကိုစီးဆင်းမှု filter နှင့် တွဲဖက်. အသုံးပြုသည်

FOPEN သည် PHP တွင် function တစ်ခုဖြစ်ပြီးဖိုင်စီးကိုဖွင့်ရန်ဖြစ်သည်။ စာဖတ်ခြင်း, အရေးအသား, ဖိုင်တစ်ခုဖွင့်သောအခါ stream_filter_append function မှတဆင့် The Stream filter ကို file stream သို့ပူးတွဲနိုင်သည်။

fopen function ကိုလက်မှတ်:

 resource fopen ( string $filename , string $mode )

steam_filter_append function ကိုလက်မှတ်

 resource stream_filter_append ( resource $stream , string $filtername , int $read_write [, mixed $params ] )

ဥပမာ - stream_get_filters နှင့် fopen သုံး. stream filter များကိုအကောင်အထည်ဖော်ခြင်း

အောက်တွင်ကျွန်ုပ်တို့သည် Stream_get_Filters နှင့် fopen ကို ရိုးရှင်းသောပုံသက်သေနှင့်ပေါင်းစပ်ပြီးမည်သို့အသုံးပြုရမည်ကိုပြသပါမည်။ ကျွန်ုပ်တို့သည်စာသားအားလုံးကိုဖိုင်ရှိစာသားများကို string.toupper stream filter မှတဆင့်စာလုံးအကြီးသို့ပြောင်းပါမည်။

နမူနာကုဒ်:

 <?php
// ရရှိနိုင်သည့် stream filter အားလုံးကိုရယူပါ
$filters = stream_get_filters();
echo "ရရှိနိုင်သည့်စီးဆင်းမှု filter များ:\n";
print_r($filters);

// ဖိုင်ကိုဖွင့်ပါ
$filename = "test.txt";
$file = fopen($filename, 'r+');

// သေတမ်းစာ 'string.toupper' stream filter များကို file tsams မှလျှောက်ထားသည်
stream_filter_append($file, 'string.toupper');

// ဖိုင်ကိုဖတ်ပြီးပါ 0 င်သည့်အကြောင်းအရာကိုဖတ်ပါ(内容သေတမ်းစာ被转换为大写)
while (($line = fgets($file)) !== false) {
    echo $line;
}

// ဖိုင်စီးကိုပိတ်ပါ
fclose($file);
?>

code parsing:

  1. ပထမ ဦး စွာရရှိနိုင်သည့် stream filter များနှင့်၎င်းတို့အား output လုပ်ရန် stream_get_filters ကို သုံးပါ။

  2. ထို့နောက် FORT.TXT ကို fopen မှတဆင့်ဖွင့်ပြီး R + Mode ဖြင့်ရေးပါ။

  3. string_filter_append function ကိုသုံးရန် transupper stream filter ကိုသုံးပါ။ ဆိုလိုသည်မှာဖိုင်မှဖတ်ရန်အဘယ်အရာကိုအလိုအလျောက်ပြောင်းလဲခြင်းကိုဆိုလိုသည်။

  4. ထို့နောက်ကျွန်ုပ်တို့သည် fgets function ကိုလိုင်းဖြင့်ဖတ်ရန်နှင့်ပြောင်းလဲထားသောအရင်းအနှီးများကိုမျက်နှာပြင်သို့ထုတ်လွှင့်သည်။

  5. နောက်ဆုံးအနေဖြင့် FCLOESESOSE မှတစ်ဆင့်ဖိုင်စီးကိုပိတ်ပါ။

ရလဒ်များအစက်အပြောက်:

test.txt ဖိုင်၏အကြောင်းအရာများသည်အောက်ပါအတိုင်းဖြစ်သည်ဆိုပါက -

 Hello world!
This is a test.

ထိုအခါ program output ကိုဖြစ်လိမ့်မည်:

 HELLO WORLD!
THIS IS A TEST.

URL flight filter ကိုနှင့်အတူပေါင်းစပ်

File streaming ဖိုင်များအပြင် PHP သည် URL များကိုစီးဆင်းနေသော filter များကိုလည်းထောက်ပံ့သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် HTTP တောင်းဆိုထားသောဒေတာများကိုပြုလုပ်ရန် stream filter တစ်ခုကိုသုံးနိုင်သည်။ ဤတွင် FOGEN မှတဆင့် URL တစ်ခုကိုမည်သို့ဖွင့်ပြီးစီးပွါးရေး filter ဖြင့်ပြုလုပ်နိုင်သည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

နမူနာကုဒ်:

 <?php
// အသုံးပြု fopen ဖွင့်လှစ် URL,အသုံးပြု gitbox.net ဒိုမိန်းအမည်အဖြစ်
$url = "http://gitbox.net/path/to/resource";
$stream = fopen($url, 'r');

// သေတမ်းစာ 'string.toupper' စီးဆင်းမှု filter ကိုလျှောက်ထားသည် URL ဒေတာစီးဆင်းမှု
stream_filter_append($stream, 'string.toupper');

// ဖတ်ရန်နှင့် output ဒေတာ
while (($line = fgets($stream)) !== false) {
    echo $line;
}

// စီးကိုပိတ်ပါ
fclose($stream);
?>

code parsing:

  1. သတ်မှတ်ထားသော URL ( gitbox.net domain name name) ကိုဖွင့်ပါ။

  2. URL မှရရှိသောအချက်အလက်များသည် output တွင်စာလုံးအကြီးသို့ကူးပြောင်းနိုင်ရန် string.toupper stream filter ကို URL ဒေတာစီးသို့သက်ဆိုင်သည်။

  3. လိုင်းနှင့် output အားဖြင့်ဒေတာလိုင်းကိုဖတ်ပါ။

  4. နောက်ဆုံးတော့စီးကိုပိတ်ပါ။

မှတ်စုများ

  • stream filter များကိုဖိုင်များအတွက်သာအသုံးပြုနိုင်သည်သာမကကွန်ရက်စီးဆင်းမှုများ, ပိုက်လိုင်းစီးဆင်းမှုစသည်တို့ကိုလည်းဖြစ်သည်။

  • Stream filter များကိုအသုံးပြုသောအခါစွမ်းဆောင်ရည်ကိုအထူးဂရုပြုပါ။

  • ပိုမိုရှုပ်ထွေးသောအပြောင်းအလဲနဲ့အတွက် filter များစွာကိုပေါင်းစပ်နိုင်သည်။ ဥပမာအားဖြင့်, ပထမ ဦး စွာချုံ့ပြီးတော့ encrypt ။

အကျဉ်းချုပ်

ဤဆောင်းပါးမှတစ်ဆင့် Stream Filters များကိုအကောင်အထည်ဖော်ရန် fopen နှင့်ပေါင်းစပ်ထားသော stream_get_filters function ကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာခဲ့သည်။ stream filter များသည် files များသို့မဟုတ်ကွန်ယက်အချက်အလက်များကိုအချိန်မှန်တွင်လုပ်ဆောင်ရန်အတွက်အလွန်အစွမ်းထက်။ ပြောင်းလွယ်ပြင်လွယ်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ရိုးရှင်းသောစာသားပြောင်းလဲခြင်းသို့မဟုတ်ပိုမိုရှုပ်ထွေးသောအချက်အလက်ပြုပြင်ခြင်းဆိုသည်မှာဖြစ်စေ,