У меня проблемы с добавлением файла журнала. Если размер моего файла журнала превышает 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
Уверены ли вы $latestFileSize
не всегда == 0?
Ничего плохого file_put_contents
обычно сначала устраняют неисправность логики. Убедитесь, что вы добрались до file_put_contents
с FILE_APPEND, как то, как вы используете это прекрасно.
Других решений пока нет …