我在codeigniter中启用了错误记录,我的日志文件夹路径为application/logs/
在此文件夹中,文件正在自动从codeigniter创建为log-2015-03-17.php
和log-2015-03-16.php
等。
我希望自动删除超过两天的文件,所以在codeigniter中是否有任何方法可以执行此操作,或者我必须为此创建cron
?
提前致谢。
答案 0 :(得分:2)
建议您使用此功能删除日志文件
我在这里删除所有 10 天前的文件
public function delteteLogFiles_get() {
$path = '../api/application/logs/';
$files = opendir($path);
while (($file = readdir($files)) !== false) {
if(in_array($file, array('.', '..'))) continue;
if (filectime($path.$file) <= time() - 14 * 24 * 60 * 60) {
// echo '<pre>'; print_r($path.$file. "<br> file created ".filectime($path.$file)); echo '</pre>';
unlink($path . $file);
}
}
closedir($files);
}
如果您想清除日志文件夹中的所有文件,请删除此条件
<块引用>if (filectime($path.$file) <= time() - 14 * 24 * 60 * 60) {
答案 1 :(得分:0)
据我所知,这不应该由php / codeigniter处理,但它是服务器管理的问题。如何,取决于您正在使用的服务器:例如,在Linux上,您可以使用“ logrotate ”(https://serverfault.com/questions/391538/logrotate-daily-and-size),在Windows上您可以从此处获取信息({{3 }})。