Почему мой файл журнала переписывает предыдущий файл, а не добавляется в файл?

У меня проблемы с добавлением файла журнала. Если размер моего файла журнала превышает 50 МБ, создайте новый файл журнала. Если нет, то добавьте в предыдущий файл. Я не уверен, правильно ли я использую FILE_APPEND. Будет ли лучше использовать fopen и fwrite?

Вот мой код ниже:

//this is the file to test size to determine whether to append to it or start a new log file
if ($latestFile != '') {
$latestFileSize = filesize($latestFile);//file size in bytes (1/1000000 of MB)
}

if ($latestFileSize != 0) {
$fileSizeThreshold = 50 * 1000000;//Threshold for log file size limit in bytes (50 MB)
if ($latestFileSize > $fileSizeThreshold) {
//The latest results file deletion log file is over 50 MB in size, so create a new one
file_put_contents("c:\\sites\\{$logFileName}", $log);
} else {
//2. Troubleshoot why the FILE_APPEND is not working and fix it. What is the normal behavior of the FILE_APPEND?
//The latest results file deletion log file is NOT over 50 MB in size, so append log entry to latest one
file_put_contents("c:\\sites\\{$latestFileName}", $log, FILE_APPEND);
}
} else {
//This is the first file in the log directory. Create it.
file_put_contents("c:\\sites\\{$logFileName}", $log);
}

closedir($handle);
}//end if $handle

0

Решение

Уверены ли вы $latestFileSize не всегда == 0?

Ничего плохого file_put_contents обычно сначала устраняют неисправность логики. Убедитесь, что вы добрались до file_put_contents с FILE_APPEND, как то, как вы используете это прекрасно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]