我有一個用於數據庫備份的目錄以及一個每天都對數據庫進行備份的PHP腳本。 但一個月後,我將有30個文件在備份目錄中。 我該如何編寫一個每天刪除舊備份文件的PHP腳本,以便在我的目錄中總是有10個備份文件? 一個新的備份存儲時,最舊的備份文件將被刪除等等...如何使用php刪除目錄中的舊文件
回答
通過目錄進行備份與PHP備份你循環,然後刪除最早的備份文件後:
$files = glob('backupfolder/*.bak');
if(count($files) > 10)
foreach($files as $file)
if(time() - filectime($file) > 10 * 24 * 60 * 60)
unlink($file);
time() - filectime($ file)返回一些負整數!那好嗎? 號碼,如: -1348332944 -1347040386 -1347691182 -1347456987 -1347686895 –
剛跑的測試,我沒有得到負數(如文件以後創建的):的index.php - 89 test.csv - 1417390 test.html - 891347 test.php - 1375369 test.xml - 1331536 – JvdBerg
對不起,我的代碼有問題。不管怎麼說,還是要謝謝你 ;-) –
您可以讀取備份目錄並刪除每個超過30天的文件。不過,我個人動態創建的文件,每個文件的格式如下:
database_dump_DD-MM-YYYY_HH:MM:SS.sql
這樣我就可以考慮刪除的文件名的文件。由於我不知道你的文件格式是什麼,你可以像這樣刪除它們:
$files = readdir(opendir('backups')); //read directory for files
foreach($files as $file){
if(filemtime($file) > (time() + 2592000)){ //check if the file is older than 30 days
unlink($file); //delete
}
}
- 1. 如何使用php腳本刪除目錄中的文件
- 2. 如何刪除目錄中的文件
- 3. 從目錄中刪除文件PHP
- 4. 如何從目錄中刪除php中的文件
- 5. 如何用PHP刪除指定目錄下的所有文件?
- 6. 刪除Python中的舊目錄
- 7. 不要刪除目錄中最舊的文件ASP.NET
- 8. 刪除舊目錄中的文件與phing
- 9. 如何從我的centos/tmp目錄刪除舊的[er]文件除了某些文件仍在使用?
- 10. 使用PHP從ZIP文件中刪除空目錄
- 11. 如何刪除Log4Net單文件中的舊日期條目
- 12. 如何使用Java從目錄中刪除文件?
- 13. 如何使用類從目錄中刪除文件
- 14. 如何從使用JDK 7刪除目錄中告知文件刪除?
- 15. 刪除舊文件並登錄它
- 16. Ant刪除子目錄中的子目錄和文件,但不刪除目錄本身的任何文件
- 17. 如果使用Chef更改了文件,如何刪除目錄?
- 18. 如何使用PHP刪除文件夾?
- 19. 如何刪除X舊文件在Amazon S3中使用Amazon CLI
- 20. 如何用C++刪除目錄及其中的所有文件?
- 21. 刪除舊的.lck文件
- 22. 提示的文件/目錄中刪除
- 23. 刪除目錄中的空文件夾
- 24. 如何將文件移動到一個目錄並刪除舊目錄而無需專門命名文件?
- 25. MS DOS批處理刪除舊文件目錄
- 26. 如何使用T-SQL刪除一個星期的舊文件
- 27. 如何使用GitHub API刪除目錄?
- 28. 使用PHP刪除文件
- 29. 如何使用PHP從文件夾中刪除文件
- 30. 如何從Azure中的目錄中刪除200k個文件?
請告訴我爲什麼你需要PHP來做到這一點。一個簡單的'find'命令就可以做到。似乎過度慫恿它。 –
我希望每天都能自動完成!我沒有失望,發現是什麼?! –
只需轉到http://linux.die.net/man/1/find閱讀有關該命令並找出所需的參數。 (exec是一個有趣的) –