လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> database backup ကို compressed package function ကိုအကောင်အထည်ဖော်ရန် PHP Ziparchive ကိုအသုံးပြုနည်း

database backup ကို compressed package function ကိုအကောင်အထည်ဖော်ရန် PHP Ziparchive ကိုအသုံးပြုနည်း

gitbox 2025-07-30

မိတ်ဆက်ပေး

Database Backup သည် 0 က်ဘ်အပလီကေးရှင်းများဖွံ့ဖြိုးတိုးတက်ရေးနှင့်ထိန်းသိမ်းခြင်းတို့တွင်အရေးပါသည်။ PHP ၏ Ziparchive Class ကို အသုံးပြု. ဒေတာဘေ့စ်အရံသိမ်းဆည်းဖိုင်များကိုလွယ်ကူစွာသိုလှောင်ရန်နှင့်စီမံခန့်ခွဲမှုအတွက်ဇစ်ဖိုင်များထဲသို့ချုံ့နိုင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကို Ziparchive အတန်းမှတစ်ဆင့်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

ပြင်ဆင်မှု

ပထမ ဦး စွာ PHP တွင် zip extensions များတပ်ဆင်ထားပြီး enable လုပ်ပါ။ PHPP.ini ဖိုင်ကိုတည်းဖြတ်ခြင်းဖြင့် Zip extension ကို zip extension ကိုသေချာအောင်ပြုလုပ်နိုင်သည်။

 <span class="fun">extension = zip</span>

Ziparchive ဥပမာတစ်ခုဖန်တီးပါ

ထို့နောက် Ziparchive Object တစ်ခုကို ဖန်တီး. zippack ဖိုင်အသစ်တစ်ခုကိုဖွင့်ပါ။

 $zip = new ZipArchive();
$zipName = 'backup_' . date('Y-m-d_H-i-s') . '.zip';
if ($zip->open($zipName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {

အထက်ဖော်ပြပါကုဒ်များတွင် Ziparchive Object ကိုဒေါ်လာ ZIP အမည်ရှိသည့် Ziparchive Object တစ်ခုကို ဖန်တီး. လက်ရှိရက်စွဲနှင့်အချိန်ပါ 0 င်သည့်ဖိုင်အမည်ကိုထုတ်လုပ်ရန်ရက်စွဲ () function ကိုအသုံးပြုပါ။

backup ဒေတာဘေ့စ်ဖိုင်များ

Database Backup ကိုတိကျသောအကောင်အထည်ဖော်မှုသည်ကွဲပြားခြားနားသောဒေတာဘေ့စ်အမျိုးအစားများနှင့်အညီကွဲပြားနိုင်သည်။ အောက်ပါဥပမာသည် MySQL ဒေတာဘေ့စ်ကိုမည်သို့ back up လုပ်ရမည်ကိုပြသသည်။

 $dbHost = 'localhost';
$dbUsername = 'username';
$dbPassword = 'password';
$dbName = 'database_name';
$backupFile = 'database_backup.sql';
$command = "mysqldump --single-transaction --host=$dbHost --user=$dbUsername --password=$dbPassword $dbName > $backupFile";
system($command);

ဤတွင်ကျွန်ုပ်တို့သည် MySQL ဒေတာဘေ့စ်ကိုစနစ်တပ်မှူး MySQLITH မှတစ်ဆင့်အရန်ကူးကြသည်။ သက်ဆိုင်ရာဒေတာဘေ့စ် connection information (အထူးအိမ်ရှင်, အသုံးပြုသူအမည်, စကားဝှက်နှင့်ဒေတာဘေ့စ်အမည်) ကိုအမှန်တကယ်အခြေအနေများအရချိန်ညှိသည်။

compressed package သို့ backup ဖိုင်များကိုထည့်ပါ

backup ဖိုင်အဆင်သင့်ဖြစ်ပြီဆိုရင်အဲဒါကို zip zip package ထဲထည့်နိုင်တယ်။

 <span class="fun">$ zip-> addfile ($ backupfile);</span>

အရန်ကူးခြင်းနှင့် compressed package ကိုပိတ်ပါ

နောက်ဆုံးအနေဖြင့် compressed package ဖိုင်ကိုအနီးကပ် () နည်းလမ်းဖြင့်ပိတ်လိုက်သည်။

 <span class="fun">$ zip-> အနီးကပ် ();</span>

ကုဒ်ကိုအပြည့်အဝ

ဒေတာဘေ့စ်အရန်ကူးရန် Ziparchive ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသောကုဒ်နံပါတ်ပြီးပြည့်စုံသောကုဒ်ပါ။

 $zip = new ZipArchive();
$zipName = 'backup_' . date('Y-m-d_H-i-s') . '.zip';
if ($zip->open($zipName, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {
    $dbHost = 'localhost';
    $dbUsername = 'username';
    $dbPassword = 'password';
    $dbName = 'database_name';
    $backupFile = 'database_backup.sql';
    $command = "mysqldump --single-transaction --host=$dbHost --user=$dbUsername --password=$dbPassword $dbName > $backupFile";
    system($command);
    $zip->addFile($backupFile);
    $zip->close();
    unlink($backupFile);
    echo 'ဒေတာဘေ့စ Backup အောင်မြင်ခဲ့သည်!';
} else {
    exit('compressed အထုပ်ဖိုင်ကိုဖွင့ ်. မရပါ');
}

အကျဉ်းချုပ်

အထက်ပါကုဒ်များနှင့်အတူ PHP ၏ Ziparchive Class ကို အသုံးပြု. ဒေတာဘေ့စ်အရံများကို compress လုပ်နည်းကိုပြသသည်။ ဤနည်းလမ်းသည်အရန်ကူးဖိုင်များကိုထိထိရောက်ရောက်စီမံနိုင်မှုသာမကအရန်ကူးခြင်း၏သိုလှောင်မှုနှင့်ပြန်လည်ထူထောင်ရေးလုပ်ငန်းစဉ်ကိုရိုးရှင်းအောင်ပြုလုပ်နိုင်သည်။ သင်လိုအပ်ချက်များနှင့်အညီကုဒ်ကိုချိန်ညှိ။ အကောင်းဆုံးလုပ်နိုင်သည်။