Hash_update_stream () သည် PHP တွင် function တစ်ခုဖြစ်ပြီး data stream လုပ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည် PHP တွင် hash extension ၏အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး၎င်းသည်များစွာသောအချက်အလက်များကိုဆေးကြောသောအခါတွက်ချက်ရန်ပိုမိုထိရောက်သောနည်းလမ်းဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည်များသောအားဖြင့်အချက်အလက်များကိုတစ်ပြိုင်နက်တည်းဖတ်ရှုခြင်းမဟုတ်ဘဲ SHOW တန်ဖိုးကိုအဆင့်ဆင့်အဆင့်ဆင့်အဆင့်မြှင့်ရန်လိုအပ်သည့်အခြေအနေတွင်အသုံးပြုသည်။
hash_update_stream () function သည် data stream processing ဖြင့် hash တန်ဖိုးကိုတဖြည်းဖြည်းချင်းအဆင့်မြှင့်တင်သည်။ ၎င်းသည်ကြီးမားသောဖိုင်များကိုကိုင်တွယ်ရန်သို့မဟုတ်ကွန်ယက်စီးဆင်းမှုများမှဒေတာများကိုရယူရန်အတွက်အလွန်ထိရောက်သောကြောင့်အချက်အလက်များကိုပိတ်ဆို့ခြင်းနှင့် Hash ကိုမှတ်ဉာဏ်သို့မပို့ဘဲအသစ်ပြောင်းခြင်းကိုဖတ်ရှုနိုင်ပါသည်။ ဤလုပ်ဆောင်မှုသည်များသောအားဖြင့် Hash_init () နှင့် hash_final () နှင့် တွဲဖက်. အသုံးပြုလေ့ရှိသည်။
bool hash_update_stream ( resource $context , resource $stream [, int $length ] )
$ Context : hash_init () function ကိုကတည်းက smonxext အရင်းအမြစ်တစ်ခုဖြစ်ပါတယ်။
$ stream : ဒေတာများကိုဖတ်ရန် stream အရင်းအမြစ်သည်ဖိုင်စီး, ကွန်ရက်စီးစသည့်စသည်တို့ဖြစ်နိုင်သည်။
$ အရှည် : optional parameter သည်ဖတ်ရှုရမည့် bytes အရေအတွက်ကိုသတ်မှတ်ရန်။
hash_update_stream () function ကိုအရင်းအမြစ်မျိုးစုံကိုကိုင်တွယ်ရန်အသုံးပြုနိုင်သည်။ အောက်ဖော်ပြပါသည်ဤလုပ်ဆောင်မှုမှထောက်ပံ့သောသယံဇာတအမျိုးအစားများဖြစ်သည်။
ဖိုင်စီးဆင်းမှုအရင်းအမြစ်များ
၎င်းသည်အသုံးအများဆုံးအရင်းအမြစ်အမျိုးအစားဖြစ်ပြီးဖိုင်ဖတ်ရန်အတွက်သင့်တော်သည်။ fopen () သို့မဟုတ် file_get_contents ကဲ့သို့သောလုပ်ဆောင်ချက်များကို ဖြတ်. ဖိုင်စီးကိုဖွင့်နိုင်သည် ။ ဤနည်းအားဖြင့် function သည်တဖြည်းဖြည်းချင်းစီကိုဖတ်ရန်နှင့် hash တန်ဖိုးကိုမွမ်းမံလိမ့်မည်။
နမူနာကုဒ်:
$file = fopen('http://m66.net/somefile.txt', 'r'); // ဖိုင်စီးကိုဖွင့်ပါ
$hash_context = hash_init('sha256'); // Hash အခြေအနေကိုစတင်ပါ
hash_update_stream($hash_context, $file); // update hash
fclose($file); // ဖိုင်စီးကိုပိတ်ပါ
ကွန်ယက်စီးဆင်းမှုအရင်းအမြစ်များ
Hash_update_stream () သည် Network Resources Streams မှ hash တန်ဖိုးများကိုအသစ်ပြောင်းခြင်းကိုထောက်ပံ့သည်။ ဤအရင်းအမြစ်အမျိုးအစားသည် fopen () function မှတဆင့်ကွန်ယက်ဆက်သွယ်မှုကိုဖွင့်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် HTTP Stream ကိုဖွင့ ်. ဒေတာခြေလှမ်းကိုတစ်နည်းဖြင့်ဖတ်နိုင်သည်။
နမူနာကုဒ်:
$url = 'http://m66.net/somefile.txt';
$stream = fopen($url, 'r'); // ဖွင့်လှစ်URLစီးဆင်း
$context = hash_init('sha256'); // Hash အခြေအနေကိုစတင်ပါ
hash_update_stream($context, $stream); // 逐步update hash值
fclose($stream); // 关闭စီးဆင်း
စံ input ကိုစီး
command line တွင် PHP သည်စံထည့်သွင်းမှုများကိုကိုင်တွယ်နိုင်သည်။ Hash_Update_stream () သည် MASH အသစ်ပြောင်းခြင်းများ ( PHP: // stdin မှတဆင့်ရရှိသောစီးဆင်းမှုကဲ့သို့သော streams ကဲ့သို့သော streams များသို့လည်းအဆင့်မြှင့်တင်မှုများပြုလုပ်ရန်လည်းကူညီသည်။
နမူနာကုဒ်:
$stdin = fopen('php://stdin', 'r'); // ဖွင့်လှစ်标准输入စီးဆင်း
$context = hash_init('sha256'); // Hash အခြေအနေကိုစတင်ပါ
hash_update_stream($context, $stdin); // 逐步update hash值
fclose($stdin); // 关闭标准输入စီးဆင်း
Memory Stream (PHP: // Temp သို့မဟုတ် PHP: // မှတ်ဉာဏ်)
PHP ၏မှတ်ဉာဏ် streaming အရင်းအမြစ်များကိုသင်အသုံးပြုနိုင်သည် (ဥပမာ PHP: // Temp သို့မဟုတ် PHP: // မှတ်ဉာဏ် ) ။ ဤစီးဆင်းမှုများသည်ယာယီဒေတာများကိုသိုလှောင်ထားနိုင်ပြီးအသေးစားအချက်အလက်များအားအသေးစားအချက်အလက်များကိုထုတ်လုပ်ရန်အတွက်အကောင်းဆုံးဖြစ်သည်။
နမူနာကုဒ်:
$memory_stream = fopen('php://temp', 'r+'); // ဖွင့်လှစ်内存စီးဆင်း
fwrite($memory_stream, 'Hello, this is a test string.');
rewind($memory_stream); // 重置စီးဆင်း指针到开始位置
$context = hash_init('sha256'); // Hash အခြေအနေကိုစတင်ပါ
hash_update_stream($context, $memory_stream); // 逐步update hash值
fclose($memory_stream); // 关闭内存စီးဆင်း
Hash_update_stream () function သည် function အမျိုးမျိုးကိုကိုင်တွယ်နိုင်သည်။ File streams များ, ကွန်ရက်စီးများ, စံထည့် 0 ါးများနှင့်မှတ်ဉာဏ်ချောင်းများအပါအ 0 င် stream အရင်းအမြစ်အမျိုးမျိုးကိုကိုင်တွယ်နိုင်သည်။ သင်သည် disk မှဖိုင်များကိုဖတ်နေသည်ဖြစ်စေ, ကွန်ယက်မှအချက်အလက်များရယူခြင်းသို့မဟုတ် memory တွင်ယာယီအချက်အလက်များကိုရယူခြင်း, ၎င်းသည်ကြီးမားသောဖိုင်များကိုကိုင်တွယ်သောအခါသို့မဟုတ်ဒေတာစီးဆင်းမှုများကိုအချိန်မှန်ရရှိသည့်အခါ၎င်းသည်အလွန်ထိရောက်စွာထိရောက်စေသည်။