0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ပြုပြင်ထိန်းသိမ်းမှုလုပ်ငန်းစဉ်တွင် FTP ဆာဗာများကို File Upload, download နှင့် backup စီမံခန့်ခွဲမှုအတွက်အသုံးပြုသည်။ သို့သော်အချိန်ကြာလာသည်နှင့်အမျှဆာဗာတွင်အသုံးမကျသောဖိုင်များသည်ဆာဗာတွင်စုဆောင်းခြင်း, တန်ဖိုးရှိသောသိုလှောင်မှုနေရာယူသည်။ သင်၏ system ကိုသပ်သပ်ရပ်ရပ်နှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်နှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်အတွက်ဖိုင်အဟောင်းများကိုပုံမှန်သန့်ရှင်းရေးလုပ်ရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် FTP server တွင်အလိုအလျောက်သန့်ရှင်းရေးလုပ်ငန်းများကိုအကောင်အထည်ဖော်ရန် PHP scripts ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
FTP (ဖိုင်လွှဲပြောင်းမှုကျူးလွန်သူ) သည်အင်တာနက်ပေါ်ရှိအသုံးအများဆုံးဖိုင်လွှဲပြောင်းမှု protocol များထဲမှတစ်ခုဖြစ်သည်။ FTP client သို့မဟုတ် script program မှတဆင့်ကျွန်ုပ်တို့သည်ဝေးလံခေါင်သီသောဆာဗာမှဖိုင်များကိုတင်ခြင်း, ကူးယူခြင်းနှင့်ဖျက်ခြင်းကဲ့သို့သောလုပ်ငန်းများကိုလုပ်ဆောင်နိုင်ပါသည်။ ဖိုင်အဟောင်းများကိုအလိုအလျောက်ဖျက်ခြင်း၏လုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန် FTP server သို့ချိတ်ဆက်ရန်နှင့်ဖိုင်အချက်အလက်များကိုရယူရန် PHP ကိုပထမ ဦး စွာအသုံးပြုရန်လိုအပ်ပြီးဖိုင်အချက်အလက်ကိုရယူရန်အတွက် PHP ကိုအသုံးပြုရန်လိုအပ်သည်။
PHP သည် ftp server နှင့်အလွယ်တကူ ဆက်သွယ်. ဆက်သွယ်နိုင်သည့် built-in ftp function library ကိုထောက်ပံ့ပေးသည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
$ftpServer = 'ftp.example.com';
$ftpUsername = 'username';
$ftpPassword = 'password';
$connId = ftp_connect($ftpServer);
$loginResult = ftp_login($connId, $ftpUsername, $ftpPassword);
if ($connId && $loginResult) {
// ဆက်သွယ်မှုအောင်မြင်သော
} else {
// ဆက်သွယ်မှုမအောင်မြင်ပါ,အမှားများကိုကိုင်တွယ်
}အထက်ပါကုဒ်တွင် FTP_Connect () သည် connection ကိုတည်ဆောက်ရန်နှင့် FTP_Login () ကို login authentication အတွက်အသုံးပြုသည်။ ဆာဗာလိပ်စာ, Username နှင့် Password သည်သင့်အားနောက်ခြေလှမ်းကိုချောချောမွေ့မွေ့မသွားမီမှန်ကန်စွာဖြည့်စွက်ကြောင်းသေချာပါစေ။
ဆက်သွယ်မှုအောင်မြင်ပြီးနောက် FTP server ရှိ directory တစ်ခုတွင်ဖိုင်စာရင်းကိုရယူရန်လိုအပ်သည်။ သင် FTP_NList () function ကိုသုံးနိုင်သည်။
$ftpDirectory = '/path/to/directory/';
$fileList = ftp_nlist($connId, $ftpDirectory);
foreach ($fileList as $file) {
echo $file . '<br>';
}အထက်ဖော်ပြပါကုဒ်သည်သတ်မှတ်ထားသောလမ်းညွှန်တွင်အမည်များအားလုံး၏အမည်များကိုထုတ်ပေးလိမ့်မည်, နောက်ဆက်တွဲ filtering နှင့်ဖျက်ခြင်းလုပ်ငန်းများအတွက်အခြေခံကျသည်။
ထို့နောက်ဖိုင်၏ပြုပြင်မွမ်းမံချိန်ကို အခြေခံ. ဖိုင်အဟောင်းရှိမရှိဆုံးဖြတ်နိုင်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
$ftpDirectory = '/path/to/directory/';
$daysAgo = 30; // ဖျက်30ဖိုင်များလွန်ခဲ့သောရက်
$fileList = ftp_nlist($connId, $ftpDirectory);
foreach ($fileList as $file) {
$fileTimestamp = ftp_mdtm($connId, $file);
$fileTimestamp = date_create_from_format('YmdHis', $fileTimestamp);
$currentTimestamp = date_create();
$diff = date_diff($currentTimestamp, $fileTimestamp);
$elapsedDays = $diff->format('%a');
if ($elapsedDays > $daysAgo) {
ftp_delete($connId, $file);
echo '已ဖျက်文件:' . $file . '<br>';
}
}ဤ script သည်သတ်မှတ်ထားသော directory ထဲတွင်ဖိုင်များကိုဖြတ်သန်းသွားမည်, ဖိုင်တစ်ခုစီ၏ပြုပြင်မွမ်းမံမည့်နေ့ကိုဆုံးဖြတ်ပြီးရက်အရေအတွက်ထက်အသက်ကြီးသောဖိုင်အဟောင်းများကိုအလိုအလျောက်ဖျက်ပါ။
script ကိုမှန်မှန်လည်ပတ်ရန်အတွက်သင်သည် cron scheduled task ကို Linux စနစ်တွင်အသုံးပြုနိုင်သည်။ Crontab ကိုတည်းဖြတ်ရန် Terminal တွင်အောက်ပါ command ကို execute လုပ်ပါ။
crontab -eထို့နောက်အောက်ပါစည်းမျဉ်းများကိုထည့်ပါ။
0 0 * * * php /path/to/script.phpအထက်ပါ command သည်ဖိုင်အဟောင်းများကိုအလိုအလျောက်သန့်ရှင်းရေးလုပ်ခြင်း၏လုပ်ဆောင်မှုကိုအလိုအလျောက်သန့်ရှင်းရေးလုပ်ခြင်း၏လုပ်ဆောင်မှုကိုသိရှိရန်စနစ်သည် PPP script ကိုတစ်ကြိမ်သာဖြင့်ပြုလုပ်လိမ့်မည်ဟုဆိုလိုသည်။
ဤဆောင်းပါးကိုမိတ်ဆက်ပေးခြင်းဖြင့် PPP scripts ကို FTP ဆာဗာဟောင်းရှိဖိုင်ဟောင်းများကိုပုံမှန်ဖျက်ရန်အပြည့်အဝလုပ်ငန်းစဉ်ကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်ကိုလေ့လာသင်ယူခဲ့သည်။ FTP server သို့ချိတ်ဆက်ရန်ဖိုင်စာရင်းကို ဖြတ်. ဖိုင်စာရင်းကို ဖြတ်. Cron Task ကိုသတ်မှတ်ရန်ဖိုင်အချိန်ကိုဆုံးဖြတ်ခြင်းသည်အဆင့်တိုင်းသည်အလွန်အရေးကြီးသည်။ ဤနည်းလမ်းသည်ဆာဗာနေရာကိုထိထိရောက်ရောက်အခမဲ့အခမဲ့လွတ်လွတ်လပ်လပ်လွှတ်ပေးနိုင်သည်။ ၎င်းသည်ဖိုင်များအမြောက်အများကိုနေ့စဉ်စီမံခန့်ခွဲသောဝက်ဘ်ဆိုက်များသို့မဟုတ်အသုံးချမှုများအတွက်လက်တွေ့ကျပြီးထိရောက်သောဖြေရှင်းနည်းတစ်ခုဖြစ်သည်။