လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စီးကြောင်းကိုဖတ်ရန်နှင့် dynamically hash တန်ဖိုးကိုတွက်ချက်ရန် curl ပေါင်းစပ်ပေါင်းစပ်

စီးကြောင်းကိုဖတ်ရန်နှင့် dynamically hash တန်ဖိုးကိုတွက်ချက်ရန် curl ပေါင်းစပ်ပေါင်းစပ်

M66 2025-05-27

PHP တွင် Hash_update_Stream function သည် dynamatically dynamically values ​​များကိုအထူးသဖြင့် Stream Data ကိုပြုပြင်သည့်အခါ။ Curl နှင့်ပေါင်းစပ်ပြီးကြီးမားသောဖိုင်များ (သို့) streaming data များကိုဒေါင်းလုပ်လုပ်သည့်အခါ Real Time သည်အမှန်တကယ်အချိန်နှင့်တကယ့်အချိန်အတွက် Real Realict ကိုလေ့လာနိုင်သည်။ ဤဆောင်းပါးတွင်၎င်းကိုအောင်မြင်ရန် Hash_update_streream နှင့် ဆံပင်ကောက်ကောက်ကို မည်သို့အသုံးပြုရမည်ကိုလေ့လာပါမည်။

1 ။ hash_update_stream ဆိုတာဘာလဲ။

Hash_update_Stream function သည် PHP တွင် built-in hash function များထဲမှတစ်ခုဖြစ်သည်။ ၎င်းသည် Hash တွက်ချက်မှုများကိုတဖြည်းဖြည်းချင်းမွမ်းမံရန်အသုံးပြုသည်။ ဆိုလိုသည်မှာကျွန်ုပ်တို့သည်ဒေတာစီးဆင်းမှုအမြောက်အများကိုလုပ်ဆောင်သောအခါဖိုင်တစ်ခုလုံးကိုမှတ်ဉာဏ်ထဲသို့မတင်ဘဲဖိုင်၏တန်ဖိုးတန်ဖိုးကိုတဖြည်းဖြည်းတွက်ချက်နိုင်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool hash_update_stream ( resource $context , resource $stream )
  • $ Context : hash_init ကို အသုံးပြု. Hash အခြေအနေတွင်အရင်းအမြစ်များ။

  • $ stream : များသောအားဖြင့်ဖိုင်သို့မဟုတ်ကွန်ယက်စီးဆင်းမှုမှတဆင့်ဖန်တီးလေ့ရှိသော data stream ၏အရင်းအမြစ်။

2 ။ ဆံပင်ကောက်ကောက် ဆိုတာဘာလဲ

Curl သည် URLs မှတစ်ဆင့်ကွဲပြားသောကွန်ယက်အရင်းအမြစ်များနှင့်ဆက်သွယ်ရန်ခွင့်ပြုထားသောစွမ်းအင်သုံး PHP extension ဖြစ်သည်။ ဆံပင်ကောက်ကောက် မှတစ်ဆင့်ကျွန်ုပ်တို့သည်ဆာဗာသို့တောင်းဆိုမှုများကိုပေးပို့နိုင်သည်။ HTTP, HTTPS, FTP တို့ကဲ့သို့သော protocols များများကိုလက်ခံနိုင်သည်။ Curl သည် hash တွက်ချက်မှုအတွက် Hash_update_Stream function သို့ data stream ကိုလွှဲပြောင်းနိုင်သည်။

3 ။ ဥပမာ - hash values ​​ကို dynamically hash values ​​တွက်ချက်ရန် hash_update_stream နှင့် ဆံပင်ကောက်ကောက်ကို အသုံးပြုပါ

ဤဥပမာတွင် ကျွန်ုပ်တို့သည် ဖိုင်ကို dynamure download လုပ်ပြီး download လုပ်ပြီးဖိုင်၏ hash တန်ဖိုးကို hash_update_stream function နှင့်ပေါင်းစပ်ပါ။

အဆင့် 1: hash အခြေအနေကိုအစပြုပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် hash အခြေအနေကိုစတင်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့သည် SHA256 ကဲ့သို့သောအသုံးများသောဆေးထည့်သော algorithms များကိုရွေးချယ်နိုင်သည်။

 $hashContext = hash_init('sha256'); // ဖြစ်ပေါ်လာခြင်း sha256 Hash အခြေအနေ

အဆင့် 2: curl session ကိုစတင်ပါ

ထို့နောက်ကျွန်ုပ်တို့သည် curl ကို အသုံးပြု. curl ကို အသုံးပြု. session ကိုအစပြုပြီး Remote File ၏ဒေတာစီးဆင်းမှုကိုရရှိရန်သက်ဆိုင်ရာရွေးချယ်စရာများကိုသတ်မှတ်ပါမည်။

 $url = "http://example.com/largefile"; // ဒေါင်းလုပ်လုပ်ရန်ဖိုင်များ URL
$ch = curl_init($url); // ဖြစ်ပေါ်လာခြင်း curl ရုံးထိုင်အချိန်ကာလ

// တည်ဆောက်သည် curl ရွေးချယ်စရာများ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // တိုက်ရိုက် output ကိုအစားတုံ့ပြန်မှုကိုပြန်
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // redirection ကိုထောကျပံ့
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // တားမြစ် SSL လက်မှတ်အတည်ပြုချက်(Self- လက်မှတ်ရေးထိုးခဲ့လက်မှတ်များအတွက်သင့်လျော်သော)

// ဒေတာရရန်ဖိုင်စီးကိုဖွင့်ပါ
$stream = curl_exec($ch);

အဆင့် 3: stream ကို dynamically ကိုဖတ်ပြီး hash value ကို update လုပ်ပါ

ယခုကျွန်ုပ်တို့သည် Hash_update_Stream function ကို Real-time hash တွက်ချက်မှုများကိုပြုလုပ်ရန် Curl မှရရှိသောအချက်အလက်များကိုဖြတ်ကျော်ရန် hash_update_stream function ကိုသုံးနိုင်သည်။

 if ($stream) {
    $fp = fopen('php://memory', 'r+'); // Memory Streams ကိုဖန်တီးပါ
    fwrite($fp, $stream); // downloaded content ကိုမှတ်ဉာဏ်စီးသို့ရေးပါ
    rewind($fp); // stream pointer ကို starting အနေအထားသို့ပြန်သွားပါ

    // အသုံးပြု hash_update_stream dynamically ကို vash တန်ဖိုးကို update
    hash_update_stream($hashContext, $fp); 

    fclose($fp); // စီးကိုပိတ်ပါ
}

အဆင့် 4: Hash တွက်ချက်မှုကိုပြီးအောင်လုပ်ပါ

နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် နောက်ဆုံး hash_final () မှတဆင့်နောက်ဆုံး hash တန်ဖိုးကိုရနိုင်သည်။