PHP 写文本日志实现代码
复制代码 代码如下:
**
* 写文件
* @param string $file 文件路径
* @param string $str 写入内容
* @param char $mode 写入模式
*/
function writeFile($file,$str,$mode='w')
{
$oldmask = @umask(0);
$fp = @fopen($file,$mode);
@flock($fp, 3);
if(!$fp)
{
Return false;
}
else
{
@fwrite($fp,$str);
@fclose($fp);
@umask($oldmask);
Return true;
}
}
扩展应用,比如记录每次请求的url内容
复制代码 代码如下:
function writeGetUrlInfo()
{
//获取请求方的地址,客户端,请求的页面及参数
$requestInformation = $_SERVER['REMOTE_ADDR'].', '.$_SERVER['HTTP_USER_AGENT'].', http://'.$_SERVER['HTTP_HOST'].htmlentities ($_SERVER['PHP_SELF']).'?'.$_SERVER['QUERY_STRING']."\n";
$fileName = RootPath.'/log/'.date('Y-m-d').'.log'; //网站根目录RootPath是在配置文件里define('RootPath', substr(dirname(__FILE__)));
writeFile($fileName, $requestInformation, 'a'); //表示追加
}
用file_put_contents($filename,$data,FILE_APPEND);更佳