PHP 写文本日志实现代码

yipeiwu_com6年前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);更佳

相关文章

如何在HTML 中嵌入 PHP 代码

对于一个有经验的 PHP Web 开发者,这是一件非常容易的事情。但是对于刚开始接触 PHP 编程语言的新手这就是一个问题。所以这里介绍如何在常规的 HTML 代码中嵌入 PHP 代码。...

php数组函数序列之array_intersect() 返回两个或多个数组的交集数组

array_intersect() 定义和用法 array_intersect() 函数返回两个或多个数组的交集数组。 结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的...

PHP实现的常规正则验证helper公共类完整实例

本文实例讲述了PHP实现的常规正则验证helper公共类。分享给大家供大家参考,具体如下: 主要代码功能: 弥补平时项目对于验证功能这块的不严谨。具体细分的常规验证, 手机号/电话/小灵...

Dedecms常用函数解析

大家都知道,dedecms支持[field:senddate function=”strftime('%y-%m-%d %H:%M',@me)”/]这样的一些用法,即...

PHP耦合设计模式实例分析

本文实例分析了PHP耦合设计模式。分享给大家供大家参考,具体如下: 一个软件,它具有许多类,类与类之间需要互相调用,一旦某个类与另一个类具有紧密耦合关系的时候,这个软件的重用性就会大大降...