我想把我的日志文件修剪为7KB,但修剪只运行一次,文件大小也不会更新。
下面是代码。
$thresholdKB = "7";
$files = glob('logs/*.{log}', GLOB_BRACE);
foreach($files as $file) {
$filesizeKB = filesize("$file") / 1024;
if ($filesizeKB > $thresholdKB){
while ($filesizeKB > $thresholdKB) {
$filesizeKB = filesize("$file") / 1024;
$lines = file("$file");
unset($lines[0]);
$fp = fopen("$file", 'w');
fwrite($fp, implode('', $lines));
fclose($fp);
}
}
}
结果是 filesize
被缓存起来。你需要调用 clearstatcache()
更新文件后。