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

相关文章

解析在zend Farmework下如何创立一个FORM表单

1.首先让我们设置一下我们的程序,让Zend能够自动载入方法,不需要我们手动的去载入复制代码 代码如下:require_once 'Zend/Loader/Autoloader.php'...

php页面消耗内存过大的处理办法

解决办法: 1,修改 php.ini将memory_limit由 8M 改成 16M(或更大),重启apache服务 2,在PHP 文件中 加入 ini_set(”memory_limi...

php实现scws中文分词搜索的方法

本文实例讲述了php实现scws中文分词搜索的方法。分享给大家供大家参考,具体如下: 1、4个文件(本站下载地址。)解压后,放到一个地方 eg:E:/wamp/scws 2、php.in...

PHP EOT定界符的使用详解

结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。 警告 很重要的一点必须指出,结束标识...

PHP实现定时生成HTML网站首页实例代码

在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()" ob_start():是打开缓冲区的,就是要把您需要生成的静态...