diff --git a/common.php b/common.php index 811d175de..04531e9df 100644 --- a/common.php +++ b/common.php @@ -253,19 +253,19 @@ function file_write($str, $file, $max_size = LOG_MAX_SIZE, $lock = true, $replac rename($file, $new_name); } } - - if (bb_mkdir(dirname($file))) { - if ($fp = fopen($file, 'ab+')) { - if ($lock) { - flock($fp, LOCK_EX); - } - if ($replace_content) { - ftruncate($fp, 0); - fseek($fp, 0, SEEK_SET); - } - $bytes_written = fwrite($fp, $str); - fclose($fp); + if (file_exists($file) && $dir_created = bb_mkdir(dirname($file))) { + $fp = fopen($file, 'ab+'); + } + if (isset($fp)) { + if ($lock) { + flock($fp, LOCK_EX); } + if ($replace_content) { + ftruncate($fp, 0); + fseek($fp, 0, SEEK_SET); + } + $bytes_written = fwrite($fp, $str); + fclose($fp); } return $bytes_written;