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

相关文章

用PHP实现Ftp用户的在线管理

实现在线报名和上传作品的思路是利用网页表单收集用户填写的资料存储到Mysql数据库内,同时以该用户的注册名创建一个FTP上传账号并创建该用户的相应目录。   Ftp服务器是系统默认带的,...

php中的一些数组排序方法分享

A.内部排序(直接加载到内存进行排序):包括交换式排序(冒泡和快速法)、选择式排序、插入式排序 B.外部排序(因数据量大,需借助外部存储进行排序):包括合并排序、直接合并排序 【冒泡排序...

PHP中filter函数校验数据的方法详解

介绍PHP中filter函数校验数据的方法详解,PHP过滤器包含两种类型:Validation用来验证验证项是否合法 、Sanitization用来格式化被验证的项目,因此它可能会修改验...

PHP设计模式之装饰者模式

PHP设计模式之装饰者模式

介绍 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 思维导图   有这样一个项目,做一个餐厅订餐系统。起初的代码结构是这样的。前...

php保存二进制原始数据为图片的程序代码

得到post过来的二进制原始数据,选择一个生成路径及图片的名字,之后写入,思路很显而易见 //生成图片 $imgDir = 'uploadImg/'; $filena...