လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> CSEEK () နှင့် hash_update_stream နှင့်ပေါင်းစပ်ထားသောတိကျသောနယ်ပယ်အကြောင်းအရာများကိုမည်သို့ဖတ်ရှုရမည်နည်း။

CSEEK () နှင့် hash_update_stream နှင့်ပေါင်းစပ်ထားသောတိကျသောနယ်ပယ်အကြောင်းအရာများကိုမည်သို့ဖတ်ရှုရမည်နည်း။

M66 2025-05-27

PHP, FCREK () နှင့် hash_update_stream () သည်ဖိုင်နှင့် hash တွက်ချက်မှုများကိုကိုင်တွယ်ရန်အရေးကြီးသောကိရိယာများဖြစ်သည်။ FESEEK () ဖိုင်ညွှန်ကြားချက်များကို သတ်သတ်မှတ်မှတ် တည်နေရာတစ်ခုသို့နေရာချထားရန်အသုံးပြုသည်။ ဖိုင်တစ်ခု၏တိကျသောအစိတ်အပိုင်းများကိုသာဖတ်လိုပါက၎င်းကိုပြုလုပ်လိုပါကဤလုပ်ဆောင်ချက်နှစ်ခုပေါင်းစပ်မှုသည်အလွန်အသုံးဝင်လိမ့်မည်။ ဤဆောင်းပါးသည်ဖိုင်တစ်ခု၏အစိတ်အပိုင်းတစ်ခုသာဖတ်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ လိုအပ်ချက်များခွဲခြမ်းစိတ်ဖြာခြင်း

ကျွန်ုပ်တို့တွင်ဖိုင်ကြီးတစ်ခုရှိပြီးဒေတာအပိုင်းအစတစ်ခုသာရှိသည်ဆိုပါစို့။ ဥပမာအားဖြင့်ဖိုင်တစ်ခု၏ပထမဆုံး 1000 bytes (သို့) ဖိုင်အတွင်းရှိပိတ်ပင်တားဆီးမှု။ ဖိုင်တစ်ခုလုံးကိုတိုက်ရိုက်ဖတ်ရန်နှင့် fseek () နှင့် hash_update_stream () ကိုအသုံးပြုခြင်းသည်ဖိုင်၏တိကျသောအစိတ်အပိုင်းများကိုထိရောက်စွာရယူနိုင်ရန်အတွက်ထိရောက်မှုမရှိပါ။

2 ။ fseek ၏အခန်းကဏ်။ ()

fseek () function ကိုဖိုင်ညွှန်ပြအနေအထားသတ်မှတ်ရန်အသုံးပြုသည်။ FESEK နှင့်အတူ () ဖိုင်သို့မဟုတ်အခြားနေရာများအစမှ Bytes မည်မျှထေမိသည်ကိုသင်သတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်, Fseek ($ file 1000) သည် ဖိုင်ကို Pointer ကိုဖိုင် 1000 ပြည့်နေလိမ့်မည်။

3 ။ hash_update_stream ၏အခန်းကဏ်။

Hash_Update_Stream () သည်တွက်ချက်မှုများအတွက် hash လုပ်ဆောင်ချက်များကို data streams များကို pass လုပ်ရန်အသုံးပြုသည်။ ဖိုင်များပြုပြင်ထုတ်လုပ်သည့်အခါ hash_update_stream () သည် ဖိုင်လက်ကိုင်ကိုလက်ခံပြီးစီးထဲရှိ Hash တန်ဖိုးကိုအသစ်ပြောင်းနိုင်သည်။ ဥပမာအားဖြင့် hash_update_stream ($ အခြေအနေ, $ file) သည် ဖိုင်တစ်ခုလုံးကိုဖတ်ပြီး hash value ကို update လုပ်နိုင်သည်။

4 ။ fseek () နှင့် hash_update_stream နှင့်ပေါင်းစပ်အသုံးပြုပါ။

File Pointer ၏တည်နေရာကိုရှာဖွေရန် FSEEK () ကို ပထမဆုံး အသုံးပြုရန်လိုအပ်သည်။ ဤနည်းအားဖြင့်ဖိုင်တစ်ခုလုံးကိုမဖတ်ဘဲဖိုင်တစ်ခု၏အပိုင်းအစတစ်ခုရှိသည်။

5 ။ Code အကောင်အထည်ဖော်မှု

အဆင့် 1: ဖိုင်ကိုဖွင့်ပါ

ပထမ ဦး စွာဖိုင်ကိုဖွင့်ပြီးဖတ်ရန်ပြင်ဆင်ရန်လိုအပ်သည်။

 <?php
$file = fopen('example.txt', 'rb'); // binary mode တွင်ဖိုင်များကိုဖတ်ပါ
if (!$file) {
    die("ဖိုင်ကိုဖွင့ ်. မရပါ!");
}
?>

အဆင့် 2 - File Pointer ကိုရှာဖွေရန် FESEK () ကို သုံးပါ

ဖိုင်၏ byte 1000 မှဖတ်ရန်လိုသည်ဆိုပါစို့။ ၎င်းကိုရှာရန် fseek () ကို သုံးနိုင်သည်။

 // ဖိုင်ကိုညွှန်ပြစက်ကိုရွှေ့ပါ1000နေပြည်တော်
fseek($file, 1000);

အဆင့် 3 - Hash_update_stream ကို သုံး. hash ကိုတွက်ချက်ပါ။

ဖိုင်ရှိလက်ရှိတည်နေရာ မှစတင်. content ၏ hash တန်ဖိုးကိုတွက်ချက်ရန် hash_update_stream () ကို သုံးနိုင်သည်။ ကျနော်တို့ sha256 algorithm ကိုသုံးပါဆိုပါစို့။

 // တစ် ဦး hash အခြေအနေဖန်တီးပါ
$context = hash_init('sha256');

// လက်ရှိ pointer အနေအထားကနေစတင်ဖိုင်အပိုင်း၏ hash ကိုတွက်ချက်ပါ
hash_update_stream($context, $file);

// hash တန်ဖိုးကိုရယူပါ
$hash = hash_final($context);

echo "ဖိုင်အစိတ်အပိုင်းတစ်ခု၏ hash တန်ဖိုး: " . $hash;
?>

အဆင့် 4: ဖိုင်ကိုပိတ်ပါ

နောက်ဆုံးအနေဖြင့်ဖိုင်ကိုပိတ်ရန်မမေ့ပါနှင့်။

 fclose($file);

6 ။ အကျဉ်းချုပ်

FSEEK () နှင့် hash_update_stream ကို ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဖိုင်၏တိကျသောအစိတ်အပိုင်းများကိုထိရောက်စွာဖတ်ရှုနိုင်ရန်နှင့် hash တို့ကိုဖြည့်ဆည်းပေးနိုင်သည်။ ဤနည်းလမ်းသည်ဖိုင်တစ်ခုလုံးကိုမှတ်ဉာဏ်ထဲသို့မထည့်သွင်းနိုင်သည့်ကြီးမားသောဖိုင်များကိုကိုင်တွယ်ရန်အထူးသဖြင့်သင့်လျော်သည်။

ဤချဉ်းကပ်မှု၏ပြောင်းလွယ်ပြင်လွယ်မှုသည်ဖိုင်တစ်ခု၏မည်သည့်နေရာတွင်မဆိုဖတ်ရန်သာမကဖိုင်အတွင်းရှိတိကျသော areas ရိယာများကိုကိုင်တွယ်ရန်အတွက်လည်းသင့်တော်သည်။

ဤဆောင်းပါးသည် FSEEK () နှင့် hash_update_stream () ဖိုင်၏သီးခြားအစိတ်အပိုင်းများကိုမည်သို့ပေါင်းစပ်ရမည်ကိုနားလည်ရန်မျှော်လင့်ပါသည်။ သင့်တွင်အခြားမေးခွန်းများသို့မဟုတ်ပိုမိုရှုပ်ထွေးသောလိုအပ်ချက်များရှိပါကကျွန်ုပ်အားမေးခွန်းများမေးရန်အခမဲ့ခံစားရပါ။