我有一个用于数据库备份的目录以及一个每天都对数据库进行备份的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是一个有趣的) –