站长资源网络编程

PHP 写文本日志实现代码

整理:jimmy2024/10/31浏览2
简介复制代码 代码如下: ** * 写文件 * @param string $file 文件路径 * @param string $str 写入内容 * @param char $mode 写入模式 */ function writeFile($file,$str,$mode='w') { $oldma
复制代码 代码如下:
**
* 写文件
* @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);更佳