Все просто. Принцип переиспользования кода: если бизнес-логика вынуждает дублировать часть кода со слегка другими параметрами, то эта часть кода - отдельная функция (или метод), а изменяемые параметры и результат выполнения кода - это ее входные и выходные параметры.
function file_session_write($base, $deltaLastTime)
{
$id = session_id();
//текущее время
$CurrentTime = time();
//через какое время сессии удаляются
$LastTime = time() - $deltaLastTime;
$file = file($base);
$k = 0;
for ($i = 0; $i < sizeof($file); $i++) {
$line = explode("|", $file[$i]);
if ($line[1] > $LastTime) {
$ResFile[$k] = $file[$i];
$k++;
}
}
for ($i = 0; $i<sizeof($ResFile); $i++) {
$line = explode("|", $ResFile[$i]);
if ($line[0]==$id) {
$line[1] = trim($CurrentTime)."\n";
$is_sid_in_file = 1;
}
$line = implode("|", $line); $ResFile[$i] = $line;
}
$fp = fopen($base, "w");
for ($i = 0; $i<sizeof($ResFile); $i++) { fputs($fp, $ResFile[$i]); }
fclose($fp);
if (!$is_sid_in_file) {
$fp = fopen($base, "a-");
$line = $id."|".$CurrentTime."\n";
fputs($fp, $line);
fclose($fp);
}
return sizeof(file($base));
}
session_start();
// а тут просто вызываем функцию с какими угодно параметрами, сколько угодно раз
$result1 = file_session_write( "session1.txt", 30);
$result2 = file_session_write( "session2.txt", 86400);
echo 'res1='.$result1.'; res2='.$result2;