用PHP生成自己的LOG文件


Posted in PHP onOctober 09, 2006

如果你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧!
你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象'304 Not Modified' 和 'Internal Server Error' 一样的错误。你的代码将生成自己的LOG文件。

<?php

/* 用户定义变量 */
$logfile = "clf.log"; /*LOG文件写到那里 */
$timezone = "+0100"; /* Timezone correction */
$lookup_size = true; /* 设置文件的权限 */
$document_root = "/usr/local/apache/share/htdocs";

/* 他可能或不可能对相同的客户端记数
* 一定要对$document_root 这个变量进行设置才可以工作
*/

function write_to_log($str) {
if($fd = @fopen($GLOBALS[ "logfile"], "a")) {
fputs($fd, $str);
fclose($fd);
}
}

function get_var($name,$default) {
if($var = getenv($name)) {
return $var;
} else {
return $default;
}
}

if($remote_host = get_var( "REMOTE_HOST", false)) {
$remote_host = get_var( "REMOTE_ADDR", "-");
}
$remote_user = get_var( "REMOTE_USER", "-");
$remote_ident = get_var( "REMOTE_IDENT", "-");
$server_port = get_var( "SERVER_PORT", 80);
if($server_port!=80) {
$server_port = ":" . $server_port;
} else {
$server_port = "";
}
$server_name = get_var( "SERVER_NAME", "-");
$request_method = get_var( "REQUEST_METHOD", "GET");
$request_uri = get_var( "REQUEST_URI", "");
$user_agent = get_var( "HTTP_USER_AGENT", "");
if($lookup_size == true && $document_root) {
$filename = ereg_replace( "\?.*", "", $request_uri);
$filename = "$document_root$filename";
if(!$size = filesize($filename)) {
$size = 0;
}
} else {
$size = 0;
}

$date = gmdate( "d/M/Y:H:I:s");
$log = "$remote_host $remote_ident $remote_user [$date $timezone] \"".
"$request_method http://$server_name$server_port$request_uri\" 200 $size\n";

write_to_log($log);

?>

PHP 相关文章推荐
php 用sock技术发送邮件的函数
Jul 21 PHP
php magic_quotes_gpc的一点认识与分析
Aug 18 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
php创建session的方法实例详解
Jan 27 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
PHP二维数组去重算法
Dec 17 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
PHP 实现缩略图
Mar 09 PHP
VFP与其他应用程序的集成
Oct 09 #PHP
PHP中在数据库中保存Checkbox数据(1)
Oct 09 #PHP
分页显示Oracle数据库记录的类之二
Oct 09 #PHP
分页显示Oracle数据库记录的类之一
Oct 09 #PHP
在线竞拍系统的PHP实现框架(一)
Oct 09 #PHP
用在PHP里的JS打印函数
Oct 09 #PHP
在PHP的图形函数中显示汉字
Oct 09 #PHP
You might like
PHP 和 HTML
2006/10/09 PHP
如何对PHP程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
php header()函数使用说明
2008/07/10 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
Prototype 学习 工具函数学习($A方法)
2009/07/12 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
javascript表单验证大全
2015/08/12 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
房地产销售计划书
2014/01/10 职场文书
经典公益广告词
2014/03/13 职场文书
租房协议书范本
2014/04/09 职场文书
2014年测量员工作总结
2014/12/12 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
Redis实现分布式锁的五种方法详解
2022/06/14 Redis
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle