用PHP生成自己的LOG文件_php基础

如果你的服务器不容许你读他的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);

?>

时间: 2024-09-04 19:21:46

用PHP生成自己的LOG文件_php基础的相关文章

用PHP生成自己的LOG文件

如果你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧! 你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象'304 Not Modified' 和 'Internal Server Error' 一样的错误.你的代码将生成自己的LOG文件. <?php /* 用户定义变量 */ $logfile = "clf.log"; /*LOG文件写到那里 */ $timezone = "+0100"; /* Timezo

php-file_put_contents()生成的一个log文件如何限制该文件的大小使其最多能有1M

问题描述 file_put_contents()生成的一个log文件如何限制该文件的大小使其最多能有1M php file_put_contents()生成的一个log文件,如何限制该文件的大小使其最多能有1M 解决方案 函数封装一下,先判断,再写入,满了1M则写入到新文件 解决方案二: 满了1M写入新文件怎么弄啊 解决方案三: file_put_contents是一次性写入的,如果你要写入的内容是10M,那就一次性写入10M,建议用fwrite.

PHP如何将log信息写入服务器中的log文件_php实例

将log信息写入服务器中的log文件文件,折腾了一大圈终于找到了解决方案,具体内容如下: 折腾: [记录]php中如何写类和如何使用类 期间,需要整理出一份,可配置的,通用的,log系统. 支持写入log信息到log文件中. [折腾过程] 1.搜: php log to file 参考: PHP: error_log – Manual PHP: syslog – Manual How to create logs with PHP – Web Services Wiki Write to a l

php生成与读取excel文件_php实例

在网站中经常会生成表格,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介绍用PHP来生成和读取Excel文件. 要执行下面的函数,首先要引入一个类库:PHPExcel,PHPExcel是一个强大的PHP类库,用来读写不同的文件格式,比如说Excel 2007,PDF格式,HTML格式等等,这个类库是建立在Microsoft's OpenXML和PHP 的基础上的,对Excel提供的强大的支持,比如设置工作薄,字体样式,图片以及边

php,不用COM,生成excel文件_php基础

用php生成excel文件   <?header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=test.xls");echo "test1\t";echo "test2\t\n";echo "test1\t";echo "test2\t\n";echo "tes

php生成文件_php基础

<? function rw_counterfile() { $fp=fopen("counter.txt","r+"); if($fp==NULL) echo "文件处理出错"; rewind($fp);//指针移到文件头 fseek($fp, 2);//指针向后移2 $point=ftell($fp);// echo $point." ;";// fputs($fp, xyxy, 2);//写入2个字符 rewind

用PHP 快速生成 Flash 动画的方法_php基础

使用 Ming 库动态构建 Flash 动画 Rich Internet Application 是 Web 2.0 中的新时髦词,并且就 Web 2.0 的实质而言,一个关键组件就是 Adobe Flash.了解如何将 Flash 动画集成到应用程序中,并使用 Ming 库动态生成 Flash 动画. Web 2.0 引入了 Rich Internet Application.但 Rich Internet Application 的含义是什么?通常,它意味着向应用程序中添加具有高度响应能力的

PHP生成便于打印的网页_php基础

很多新闻和信息站点都提供了一种生成便于打印的网页的方法,所产生的页面的排版布局更有利于打印机的打印输出,这种方法方便了我们从网页上直接打印我们所需的内容,而不必为格式不规整伤脑筋,或者粘贴到文本编辑器中重新排版.然而,我却没看到有多少网站详细解释这些是如何实现的,在这里我提供一小段代码--用PHP来实现生成便于打印的网页并不是像想象的那么难,希望对大家有帮助. 要生成便于打印的网页,需要我们做哪些工作呢?这主要取决于你的网站特点,和你想要生成的版式特征,不过有一些基本处理需要完成: 1.    

PHP生成静态页面详解_php基础

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明本文出自:http://www.otm.cn 作者:Matrix@Two_Max 我们先回顾一些基本的概念. 一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客户端提出请求,请求某一页面 -----> WEB服务器引入指定相应脚本进行处理 -----> 脚本被载入服务