m002.p
01-16-2009, 09:56 PM
Hi all.
Im working on a script which keeps a memory of what text source has been read by determining which is new or old material using a txt log.
The code I use to determine the search material and create / update the file and keep the .txt file as short as possible doesnt appear to be working.
I cant see an error with my trim function so I am stumped as to why the code keeps logging source material and making the file larger and larger decreasing reliability, and not removing old source material.
// Creating new log as a string
$_new = "";
foreach($log_console as $key=>$arr)
{
if($_c[$key]) foreach($arr[0] as $k=>$v)
{
$add = 1;
foreach($_olds as $_k=>$_v)
{
if($_v == $v)
{
$_new .= "{$v}\n";
unset($log_console[$key][0][$k],$log_console[$key][1][$k],$log_console[$key][2][$k],$log_console[$key][3][$k],$log_console[$key][4][$k]);
$_c[$key]--;
unset($_olds[$_k]);
$add = 0;
break;
}
}
if($add) $_new .= "{$v}\n";
}
}
foreach($_olds as $_k=>$_v) { $_new .= "{$_v}\n"; }
// Arrays
$log_console_players = array_merge($log_console['say'][1],$log_console['teamsay'][1]);
$log_console_text = array_merge($log_console['say'][2],$log_console['teamsay'][2]);
// Saving new log to the file
if($fw = @fopen("{$gameservername} Console.log",'w')) { @fwrite($fw,trim($_new)); @fclose($fw); }
Any ideas why this might be happening?
Thanks
Matt
Im working on a script which keeps a memory of what text source has been read by determining which is new or old material using a txt log.
The code I use to determine the search material and create / update the file and keep the .txt file as short as possible doesnt appear to be working.
I cant see an error with my trim function so I am stumped as to why the code keeps logging source material and making the file larger and larger decreasing reliability, and not removing old source material.
// Creating new log as a string
$_new = "";
foreach($log_console as $key=>$arr)
{
if($_c[$key]) foreach($arr[0] as $k=>$v)
{
$add = 1;
foreach($_olds as $_k=>$_v)
{
if($_v == $v)
{
$_new .= "{$v}\n";
unset($log_console[$key][0][$k],$log_console[$key][1][$k],$log_console[$key][2][$k],$log_console[$key][3][$k],$log_console[$key][4][$k]);
$_c[$key]--;
unset($_olds[$_k]);
$add = 0;
break;
}
}
if($add) $_new .= "{$v}\n";
}
}
foreach($_olds as $_k=>$_v) { $_new .= "{$_v}\n"; }
// Arrays
$log_console_players = array_merge($log_console['say'][1],$log_console['teamsay'][1]);
$log_console_text = array_merge($log_console['say'][2],$log_console['teamsay'][2]);
// Saving new log to the file
if($fw = @fopen("{$gameservername} Console.log",'w')) { @fwrite($fw,trim($_new)); @fclose($fw); }
Any ideas why this might be happening?
Thanks
Matt