【发布时间】:2014-10-09 03:31:53
【问题描述】:
我正在用 PHP 编写一个脚本,其中我必须将系统正常运行时间、当前时间和登录系统的用户数量写入日志文件,并通过 crontab 不断更新。
我需要帮助的是我希望在文件中累积更新并不断添加。到目前为止,每当我的脚本被执行时,最新的更新都会覆盖之前的更新。
我所做的是我尝试声明一个条目数组,并在我遍历数组时将更新的内容推送到数组中(这可能是我的一些半生不熟的逻辑)。
我的代码:
$fileName = '../so-and-so directory/output.log';
$dt = date('m/d/y');
$time = date('h:i A');
$data = shell_exec('uptime');
$uptime= explode(' up ', $data);
$uptime = explode(', ', $uptime[1]);
$uptime = $uptime[0].','.$uptime[1];
$users = system('w', $who);
$array = new SplFixedArray(3);
$fileLog = fopen($fileName, 'w');
$fileString = "Date: ".$dt. "\n". " Time: ".$time . "\n".
"System uptime ". $uptime ."\n" ."Users " . $users;
foreach ($array as $entry) {
array_push(file_put_contents($fileName, $fileString));
}
fclose($fileLog);
我觉得解决方案很简单,但我错过了。有人请告诉我吗?
【问题讨论】:
-
什么$array?它不存在
-
在我尝试使用我的脚本时,这有点半生不熟的逻辑。我对 PHP 很陌生,所以这对我来说只是一个开始。
标签: php scripting crontab cron-task