လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> VS. ဖိုင်စနစ် - serialize system: Serialized အချက်အလက်များကိုထိထိရောက်ရောက်ရေးရန်မည်သို့ရေးရမည်နည်း။

VS. ဖိုင်စနစ် - serialize system: Serialized အချက်အလက်များကိုထိထိရောက်ရောက်ရေးရန်မည်သို့ရေးရမည်နည်း။

gitbox 2025-05-19

PHP တွင် Serialize () function သည် php value (ဥပမာ Array သို့မဟုတ် Object ကဲ့သို့) သိုလှောင်ထားသည့် string တစ်ခုသို့ပြောင်းလဲနိုင်သည်။ ၎င်းသည်ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုဖိုင်စနစ်သို့သိမ်းဆည်းရန်သို့မဟုတ်အခြားအပလီကေးရှင်းများသို့လွှဲပြောင်းရန်ပိုမိုလွယ်ကူပြီးပိုမိုထိရောက်စေသည်။ ဤဆောင်းပါးတွင်ဖိုင်စနစ်တွင် Serial data ကိုထိထိရောက်ရောက်ဖတ်ရှုရန်နှင့်ရေးရန်စီစဉ်ခြင်းနှင့်ဖိုင်များကိုထိရောက်စွာဖတ်ရှုရန်နှင့်ဖိုင်များကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသရန် serialize () function ကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာပါမည်။

1 ။ နိဒါန်း နိဒါန်း () နှင့် unserialize () လုပ်ဆောင်ချက်များကို)

PHP ၏ serialize () function သည် PHP ဒေတာတည်ဆောက်ပုံကိုသိုလှောင်ထားသည့် string တစ်ခုအဖြစ်ပြောင်းလဲပေးသည်။ ၎င်းသည်ဒေတာများကိုဖိုင်တစ်ခု, ဒေတာဘေ့စ်တစ်ခုသို့သိမ်းဆည်းခြင်းသို့မဟုတ်ကွန်ယက်တစ်ခုသို့လွှဲပြောင်းခြင်းအတွက်သိမ်းဆည်းခြင်းအတွက်အသုံးဝင်သည်။ ဆန့်ကျင်ဘက်အနေဖြင့် unalialize () function သည်ဤ serialized string ကိုမူရင်းဒေတာတည်ဆောက်ပုံသို့ကူးပြောင်းသည်။

နမူနာကုဒ်:

 <?php
$data = array('name' => 'John', 'age' => 25);
$serializedData = serialize($data);
echo $serializedData;
?>

ထုတ်လုပ်မှု -

 a:2:{s:4:"name";s:4:"John";s:3:"age";i:25;}

ဤ serialized string ကိုဖိုင်စနစ်တွင်သိမ်းဆည်းထားနိုင်သည်သို့မဟုတ်ကွန်ယက်ရှိအခြားနေရာများသို့လွှဲပြောင်းနိုင်သည်။

2 ။ ဖိုင်စနစ်တွင် Serialize အချက်အလက်များကိုဖတ်ပါ

ဖိုင်စနစ်တွင်ဒေတာများကိုသိမ်းဆည်းရန်ကျွန်ုပ်တို့သည် serialized data ကိုဖိုင်တစ်ခုသို့ရေးပြီးဖိုင်မှဖတ်ပြီးလိုအပ်သည့်အခါ၎င်းကိုဖတ်ရှုခြင်း။ ဤလုပ်ငန်းစဉ်သည်အလွန်ရိုးရှင်းသော်လည်းအချက်အလက်များကိုဖတ်ရန်နှင့်ရေးဆွဲခြင်းလုပ်ငန်းများကိုထိရောက်စွာလုံခြုံအောင်လုပ်ရန်လိုအပ်သည်။

2.1 ဖိုင်တစ်ခုသို့ serialized data များကိုရေးပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် array တစ်ခုကိုမြည်တမ်း။ ဖိုင်တစ်ခုသို့ရေးပါ။ ထိရောက်သောဖိုင်ရေးသားသည့်နည်းလမ်းဖြစ်သော file_put_contontents () function ကိုသင်အသုံးပြုနိုင်သည်။

 <?php
$data = array('name' => 'John', 'age' => 25);

// ဒေတာ Serialize
$serializedData = serialize($data);

// ဖိုင်တစ်ခုသို့ Serialized ဒေတာများကိုရေးပါ
file_put_contents('data.txt', $serializedData);
?>

ဤဥပမာတွင် Data Array Serialize လုပ်ပြီးနောက် ဒေတာ အမည်ရှိဖိုင်ကိုရေးပါ။

2.2 ဖိုင်တစ်ခုမှဒေတာများကိုဖတ်ပြီး deserialize

ဖိုင်တစ်ခုမှ Serial data အချက်အလက်များကိုဖတ်ပြီးမူရင်းဒေတာတည်ဆောက်ပုံသို့ပြန်ပို့ပါ။ ဖိုင် contents တွေကိုဖတ်ပြီး function ကိုဖတ်ဖို့ file_get_contontents ( ) function ကိုသုံးနိုင်တယ်။

 <?php
// ဖိုင်တစ်ခုမှ Serialize အချက်အလက်များကိုဖတ်ပါ
$serializedData = file_get_contents('data.txt');

// ဒေတာ deserialize
$data = unserialize($serializedData);

// deserialized ဒေတာ output
print_r($data);
?>

အကယ်. data.txt ဖိုင်တွင်ပါ 0 င်သောအရာများသည်ကြိုးများတပ်ဆင်ထားပါကကျွန်ုပ်တို့သည်အစောပိုင်းက serialized လုပ်ထားပါကဤကုဒ်ကို run မည်။

 Array
(
    [name] => John
    [age] => 25
)

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

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

  • ဒေတာစစ်ဆေးမှု - ဒေတာများကို deserializing description ကို deserialize လုပ်သည့်အခါအထူးသတိထားရန်လိုအပ်သည်။ ဤသို့ပြုလုပ်ရန် deserialized ဒေတာအရင်းအမြစ်သည်ယုံကြည်စိတ်ချရသောဖြစ်ကြောင်းသေချာစေရန် input data များကိုပြုလုပ်ရန်အတည်ပြုခြင်းနှင့်စစ်ထုတ်ခြင်းတို့ကိုပြုလုပ်နိုင်သည်။

  • စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်သောဖိုင်များသို့မဟုတ်မကြာခဏဖတ်ခြင်းနှင့်မကြာခဏဖတ်ခြင်းနှင့်စစ်ဆင်ရေးကိုရေးခြင်းအတွက်ဖိုင်များကိုဖတ်ရှုခြင်းနှင့်ရေးသားခြင်းကဲ့သို့သော in-memory data သိုလှောင်နည်းများကိုအသုံးပြုခြင်းသို့မဟုတ်ပြန်လည်ထူထောင်ခြင်းကဲ့သို့သော memory data storage နည်းလမ်းများအသုံးပြုခြင်းကိုသင်စဉ်းစားနိုင်သည်။

4 ။ URL အစားထိုးခြင်းနှင့်အခြား extensions ကိုသုံးပါ

အချို့သော applications များတွင် URL ကိုဒေတာအတွင်းရှိ URL ကိုအစားထိုးရန်လိုကောင်းလိုလိမ့်မည်။ ဥပမာအားဖြင့်, serialation မမီမီဒီယာမဆိုဒိုမိန်းအမည်ကို GitBox.net ဖြင့်အစားထိုးသည်။

ကျွန်ုပ်တို့တွင် urls များပါ 0 င်သည့် urls များပါ 0 ်သည့် urls များပါ 0 င်သည်ဆိုပါစို့။

 <?php
$data = array(
    'website' => 'https://www.example.com',
    'api' => 'https://api.example.com'
);

// သေတမ်းစာ URL Domain Name ကိုအစားထိုးပါ gitbox.net
foreach ($data as &$url) {
    $url = str_replace('example.com', 'gitbox.net', $url);
}

// ဒေတာ Serialize
$serializedData = serialize($data);

// ဖိုင်တစ်ခုသို့ Serialized ဒေတာများကိုရေးပါ
file_put_contents('data_with_urls.txt', $serializedData);
?>

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်သိမ်းဆည်းခြင်းမပြုမီဒေတာရှိအကြောင်းအရာများကိုပြောင်းလဲခြင်းကိုပြောင်းလဲနိုင်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုယခင်ကဖိုင်မှဖတ်ရန်နှင့် deserialize လုပ်နိုင်သည်။

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

PHP ၏ serialize () နှင့် unserialize () လုပ်ဆောင်ချက်များကိုဖိုင်စနစ်အတွင်းရှိရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုသိမ်းဆည်းရန်နှင့်တင်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ဖိုင်စနစ်၏လည်ပတ်မှုကိုဖတ်ရန်နှင့်ရေးဆွဲခြင်းကိုကိုင်တွယ်သောအခါဤလုပ်ဆောင်ချက်များကိုပေါင်းစပ်။ အသုံးပြုခြင်းသည် code ကိုရိုးရှင်းရုံသာမကဒေတာများ၏သမာဓိကိုသေချာစေသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်သိုလှောင်မှု, ဒေတာ serialization နှင့် deserialization တို့ကိုပေါင်းစပ်ခြင်း, ဒေတာ serialization နှင့် deserialization တို့ကိုပေါင်းစပ်ခြင်းက code သည်ရိုးရှင်းလွယ်ကူပြီးထိန်းသိမ်းရန်လွယ်ကူစေရန်သေချာစွာနားလည်နိုင်သည်။