လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Binary Files သို့ရေးရန် Pack () နှင့် File_Propar_Contentents () file_put_contontents ကိုသုံးပါ

Binary Files သို့ရေးရန် Pack () နှင့် File_Propar_Contentents () file_put_contontents ကိုသုံးပါ

M66 2025-06-03

PHP တွင် POST () function နှင့် file_put_contents () function ကိုပေါင်းစပ်ခြင်း () function ကိုပေါင်းစပ်ခြင်းသည် Binary Data ကိုလုပ်ဆောင်သောအခါအလွန်လက်တွေ့ကျသည်။ POST () ဖိုင်သည် အချက်အလက်များကိုသတ်မှတ်ထားသောပုံစံဖြင့်သတ်မှတ်ထားသောပုံစံဖြင့်သတ်မှတ်ထားသောပုံစံဖြင့်သတ်မှတ်နိုင်သည် ဤဆောင်းပါးသည်ဖွဲ့စည်းပုံအချက်အလက်များကို binary file တစ်ခုသို့ရေးရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ နိဒါန်း Pack () function ကို

Pack () function သည် format code အရအရ variable များကို binary strings သို့ပြောင်းလဲပေးသည်။ ၎င်းသည်ပုံစံအမျိုးမျိုးဖြစ်သောပုံစံများကိုထောက်ပံ့သည်။

  • C : လက်မှတ်ရေးထိုးထားသောဇာတ်ကောင်များ (1 byte)

  • C : IFFIFTED ဇာတ်ကောင် (1 byte)

  • S : တိုတောင်းသောကိန်း (2 bytes) ကိုလက်မှတ်ရေးထိုးခဲ့သည်။

  • S : INFIFICED မတိုသောကိန်း (2 bytes)

  • i : Signed Integer (4 bytes)

  • i : လက်မှတ်မထိုးထားသောကိန်း (4 bytes)

  • F : floating point နံပါတ် (4 bytes)

  • D : နှစ်ဆတိကျသောရေပေါ်အမှတ်နံပါတ် (8 bytes)

ပိုမိုသောပုံစံများအတွက် ကျေးဇူးပြု. တရားဝင် PHP စာရွက်စာတမ်းများကိုဖတ်ရှုပါ။

2 ။ File_Propar_contents () function ကိုမိတ်ဆက်ပါ

File_Propar_Contents () function ကိုဖိုင်တစ်ခုအတွက် string တစ်ခုရေးရန်အသုံးပြုသည်။ ဖိုင်အကြောင်းအရာကိုပုံမှန်အားဖြင့် overwrite လုပ်လိမ့်မည်သို့မဟုတ်၎င်းကိုဖြည့်စွက်ရန်သတ်မှတ်နိုင်သည်။

3 ။ နမူနာကုဒ်: binary files များထံဖွဲ့စည်းထားသောဒေတာများကိုရေးပါ

ID (4-byte integer), status (1-byte character), floating-point value (4-byte floating-point အရေအတွက်) ပါ 0 င်သည့်ဒေတာဖွဲ့စည်းပုံကိုကျွန်ုပ်တို့ရေးလိုသည်ဆိုပါစို့။

 <?php
// ဒေတာပြင်ဆင်မှု
$id = 123456;           // ကိန်း
$status = 1;            // အသေအချာပေြာဆို,1字节无符号ကိန်း
$value = 3.14159;       // floating အမှတ်နံပါတ်

// အသုံးပြု pack() format ဖြင့်ဒေတာထုပ်ပိုး
// ပုံစံဖော်ပြချက်:I - လက်မှတ်မထိုး integer,C - လက်မှတ်မထိုးဇာတ်ကောင်,f - floating အမှတ်နံပါတ်
$binaryData = pack('ICf', $id, $status, $value);

// Binary Files သို့ရေးပါ
file_put_contents('data.bin', $binaryData);

echo "数据已Binary Files သို့ရေးပါ。\n";
?>

အထက်ပါကုဒ်နံပါတ်ကိုဖွင့်ပြီးနောက် ဒေတာ အမည်ရှိဖိုင်ကိုလက်ရှိ directory တွင်ထုတ်လုပ်လိမ့်မည်။ ဖိုင်အကြောင်းအရာသည်သက်ဆိုင်ရာ binary data ဖြစ်သည်။

4 ။ စာဖတ်ခြင်းဥပမာအားဖြင့်ဖတ်ခြင်း

ရေးသားခြင်းသည်အောင်မြင်မှုရှိ, မရှိကိုအတည်ပြုရန် File_Get_contros () ကို သုံး နိုင်သည်။

 <?php
// binary ဖိုင်များကိုဖတ်ပါ
$data = file_get_contents('data.bin');

// အချက်အလက်များကိုဖြုတ်ချခြင်း
// အဆိုပါ format ကိုအရေးအသားအချိန်နှင့်တသမတ်တည်းဖြစ်သင့်သည်
$result = unpack('Iid/Cstatus/fvalue', $data);

print_r($result);
?>

output ရလဒ်ဖြစ်သင့်သည်:

 Array
(
    [id] => 123456
    [status] => 1
    [value] => 3.14159
)

5 ။ မှတ်စုဖို့အရာ

  1. byte အမိန့် : Pack () သည် ပုံမှန်အားဖြင့်စက် byte အမိန့်ကိုအသုံးပြုသည်။ အကယ်. ၎င်းကိုပလက်ဖောင်းများသို့မဟုတ်ကွန်ယက်များမှတဆင့်ကူးစက်လျှင်၎င်းသည် byte order format ကိုသတ်မှတ်ရန်အကြံပြုသည်

  2. ပုံစံကိုက်ညီမှု - ထုပ်ပိုးခြင်း - အထုပ် () နှင့် ဖြည့်တင်းခြင်း () ပုံစံများ () ပုံစံများသည်တစ် ဦး ချင်းစီနှင့်ကိုက်ညီရမည်။

  3. ဖိုင်ခွင့်ပြုချက်များ - ဖိုင်များရေးသားသည့်အခါ PHP သည်ပစ်မှတ်ဖိုလ်ဒါကိုလည်ပတ်ရန်လုံလောက်သောခွင့်ပြုချက်ရှိသည်ဟုသေချာပါစေ။