PHP 写文本日志实现代码


Posted in PHP onMay 18, 2010
** 
* 写文件 
* @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 相关文章推荐
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
Mar 28 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
Jun 30 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
学习php中的正则表达式
Aug 17 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP的PDO预处理语句与存储过程
Jan 27 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 #PHP
PHP array_flip() 删除重复数组元素专用函数
May 16 #PHP
mysql下创建字段并设置主键的php代码
May 16 #PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 #PHP
ezSQL PHP数据库操作类库
May 16 #PHP
php 提速工具eAccelerator 配置参数详解
May 16 #PHP
php date()日期时间函数详解
May 16 #PHP
You might like
php抓即时股票信息
2006/10/09 PHP
PHP Pear 安装及使用
2009/03/19 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python正则简单实例分析
2017/03/21 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
简单了解python关系(比较)运算符
2019/07/08 Python
python @classmethod 的使用场合详解
2019/08/23 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
毕业留言寄语大全
2014/04/10 职场文书
篮球比赛策划方案
2014/06/05 职场文书
农民工讨薪标语
2014/06/26 职场文书
高中生毕业评语
2014/12/30 职场文书
教师节班会开场白
2015/06/01 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
php png失真的原因及解决办法
2021/11/17 PHP
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript