လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Ziparchive Compression Package ကိုစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းအတွက်အကောင်အထည်ဖော်မှုသင်ခန်းစာ

PHP Ziparchive Compression Package ကိုစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းအတွက်အကောင်အထည်ဖော်မှုသင်ခန်းစာ

M66 2025-07-28

PHP Ziparchive နှင့် Openssll extensions များသည် compression package encryption နှင့် decryption များကိုအကောင်အထည်ဖော်သည်

PHP ရှိ Ziparchive class ကို zip compressed files များကိုဖန်တီးရန်နှင့်စီမံခန့်ခွဲရန်အသုံးပြုသည်။ Ziparchive ကိုယ်တိုင်က encryption function ကိုတိုက်ရိုက်ပံ့ပိုးခြင်းမရှိသော်လည်း Openssll extension နှင့်ပေါင်းစပ်ပြီး file security ကိုတိုးတက်စေရန် compression လုပ်ထားသော package များကိုစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းလုပ်ငန်းများကိုအကောင်အထည်ဖော်နိုင်သည်။

သဘာဝပတ်ဝန်းကျင်ပြင်ဆင်မှု

PHP ပတ်ဝန်းကျင်တွင် Ziparchive နှင့် Openssll extensions များကို ziparchive နှင့် openssll extension များကို သေချာအောင်လုပ်ပါ။

compression package စာဝှက်ခြင်းလုပ်ငန်းစဉ်

ပထမ ဦး စွာ Zip file တစ်ခုကိုဖန်တီးရန် Ziparchive ကို အသုံးပြု. ပစ်မှတ်ဖိုင်ကို compressed package ထဲသို့ထည့်ပါ။ compressed file content ကို openssl ၏ encryption function ကိုမှတဆင့် encrypted ဖြစ်ပါတယ်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$zip = new ZipArchive();
$zipname = 'encrypted.zip';

if ($zip->open($zipname, ZipArchive::CREATE) === TRUE) {
    // ဖိုင်တစ်ခုထည့်ပါ
    $zip->addFile('data.txt', 'data.txt');
    $zip->close();

    // compressed packet data ကိုဖတ်ပြီး၎င်းကိုစာဝှက်ပါ
    $zipdata = file_get_contents($zipname);
    $encryptedzip = openssl_encrypt($zipdata, 'AES-128-CBC', 'password', OPENSSL_RAW_DATA, '1234567890123456');
    file_put_contents($zipname, $encryptedzip);

    echo 'compressed package ကို encrypted ဖြစ်ပါတယ်。';
} else {
    echo 'compressed အထုပ်ကိုဖန်တီးရန်ပျက်ကွက်。';
}
?>

အထက်ဖော်ပြပါဥပမာတွင် AEE 128-CBC algorithm ကိုအသုံးပြုသည်, စကားဝှက်သည် စကားဝှက် ဖြစ်ပြီးစကားဝှက်သည်စကားဝှက်ဖြစ်သည်။ အစသည် 12345678901234566 ဖြစ်သည်။ လိုအပ်သည့်အတိုင်း encryption algorithm နှင့် key ကိုချိန်ညှိနိုင်သည်။

Compression အထုပ်စာဝှက်ဖြည်ခြင်းလုပ်ငန်းစဉ်

decrypting သည့်အခါ compressed packet data ကိုပြန်လည်ထူထောင်ရန် Openssl ၏စာဝှက်ဖြည်ရန် function ကိုသုံးပါ, ပြီးနောက် Ziparchive ကို decompress သို့သုံးပါ။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$zipname = 'encrypted.zip';

// encrypted compressed package contents တွေကိုဖတ်ပါ
$encryptedzip = file_get_contents($zipname);

// ရေှ့ပညာ
$decryptedzip = openssl_decrypt($encryptedzip, 'AES-128-CBC', 'password', OPENSSL_RAW_DATA, '1234567890123456');
file_put_contents($zipname, $decryptedzip);

// 打开ရေှ့ပညာ后的压缩包并解压
$zip = new ZipArchive();
if ($zip->open($zipname) === TRUE) {
    $zip->extractTo('unzip/');
    $zip->close();
    echo '压缩包已ရေှ့ပညာ并解压缩。';
} else {
    echo 'compressed အထုပ်ကိုဖွင့်ရန်ပျက်ကွက်。';
}
?>

တူညီသော algorithm နှင့်သော့များကိုစာဝှက်ဖြည်သည့်အဆင့်တွင်ဒေတာများကိုမှန်ကန်စွာပြန်လည်ကောင်းမွန်လာစေရန်စာဝှက်ဖြည်သည့်အဆင့်တွင်အသုံးပြုသည်။

မှတ်သားရန်အရာ

  • ကျေးဇူးပြု. encryption password နှင့် Initialization Vector သည်ယိုစိမ့်မှုကိုရှောင်ရှားရန်လုံခြုံမှုရှိစေရန်သေချာပါစေ။
  • လုံခြုံရေးတိုးတက်စေရန်အမှန်တကယ်လိုအပ်ချက်များအရသင့်လျော်သောစာဝှက်စနစ်နှင့်စကားဝှက်ကိုအားဖြည့်ပါ။
  • Decompression Path, Password နှင့် Intoldization Vector ကိုတိကျသောစီမံကိန်းလိုအပ်ချက်များနှင့်အညီချိန်ညှိသင့်သည်။

အကျဉ်းချုပ်

PHP ၏ Ziparchive Class နှင့် Openssll Extension ကိုပေါင်းစပ်ခြင်းအားဖြင့် Zip fats ဖိုင်များကိုစာဝှက်ခြင်းနှင့်စာဝှက်ဖြည်ခြင်းတို့ဖြင့်ဖိုင်များနှင့်သိုလှောင်မှုအတွင်းရှိဖိုင်များလုံခြုံရေးကိုတိုးမြှင့်နိုင်သည်။ ဤဆောင်းပါးတွင်ဥပမာများနှင့်ညွှန်ကြားချက်များသည်သင်၏စီမံကိန်းတွင်ဤအင်္ဂါရပ်ကိုအသုံးပြုရန်အတွက်အထောက်အကူပြုလိမ့်မည်ဟုမျှော်လင့်ပါသည်။

မကြာသေးမီ ဆောင်းပါးများ