gpt4 book ai didi

php - 如何在php中创建日志文件

转载 作者:IT老高 更新时间:2023-10-28 12:06:16 25 4
gpt4 key购买 nike

我想为我的系统创建一个日志文件来注册/记录他们在系统内执行的每个操作。但我不知道该怎么做。

例如,我有这个执行登录功能的 php 代码。

public function hasAccess($username,$password){
$form = array();
$form['username'] = $username;
$form['password'] = $password;


$securityDAO = $this->getDAO('SecurityDAO');
$result = $securityDAO->hasAccess($form);
//var_dump($form);
//var_dump($result);
if($result[0]['success']=='1'){
$this->Session->add('user_id', $result[0]['id']);
//$this->Session->add('username', $result[0]['username']);
//$this->Session->add('roleid', $result[0]['roleid']);
return $this->status(0,true,'auth.success',$result);
}else{
return $this->status(0,false,'auth.failed',$result);
}
}

现在我想创建一个名为“今天的日期”的日志文件,然后当该功能用于登录时,它会写入该用户已登录,与其他功能相同。但我每天只想要一个文件。

谁能指导和教我如何编写代码?

最佳答案

要写入日志文件并每天创建一个新文件,您可以使用 date("j.n.Y") 作为文件名的一部分。

//Something to write to txt log
$log = "User: ".$_SERVER['REMOTE_ADDR'].' - '.date("F j, Y, g:i a").PHP_EOL.
"Attempt: ".($result[0]['success']=='1'?'Success':'Failed').PHP_EOL.
"User: ".$username.PHP_EOL.
"-------------------------".PHP_EOL;
//Save string to log, use FILE_APPEND to append.
file_put_contents('./log_'.date("j.n.Y").'.log', $log, FILE_APPEND);

所以你可以把它放在你的 hasAccess() 方法中。

public function hasAccess($username,$password){
$form = array();
$form['username'] = $username;
$form['password'] = $password;

$securityDAO = $this->getDAO('SecurityDAO');
$result = $securityDAO->hasAccess($form);

//Write action to txt log
$log = "User: ".$_SERVER['REMOTE_ADDR'].' - '.date("F j, Y, g:i a").PHP_EOL.
"Attempt: ".($result[0]['success']=='1'?'Success':'Failed').PHP_EOL.
"User: ".$username.PHP_EOL.
"-------------------------".PHP_EOL;
//-
file_put_contents('./log_'.date("j.n.Y").'.txt', $log, FILE_APPEND);

if($result[0]['success']=='1'){
$this->Session->add('user_id', $result[0]['id']);
//$this->Session->add('username', $result[0]['username']);
//$this->Session->add('roleid', $result[0]['roleid']);
return $this->status(0,true,'auth.success',$result);
}else{
return $this->status(0,false,'auth.failed',$result);
}
}

关于php - 如何在php中创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19898688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com