会员登陆  支付方式  联系我们  在线客服  网站地图       
首页 关于域浪 互联网数据中心业务、主机托管、主机租用、机架租用、带宽租用、机房介绍、机房对比、CCN网络加速 adsl专线、深圳adsl专线 虚拟主机、域名注册、数据库、企业邮局、动态域名 网络安全、网络临近平台、安全服务、防火去墙租用、安全产品、域浪抗DDOS防火墙、NetScreen防火墙 技术支持  
   当前位置:首页 >> 技术支持 >> PHP编程技巧 >> 用PHP生成自己的LOG文件
 
精华文章
    一个用PHP实现的UBB类  
    为吸引Oracle用户 IBM...  
    用PHP连mysql和oracle...  
    用PHP发邮件  
    在PHP中使用灵巧的体系...  
    使用PHP连接LDAP服务器...  
    PHP中的Java扩展  
    一个简单的PHP投票系统...  
    用PHP写超级简单的发送...  
    用PHP处理多个同名复选...  
    定制php4的session功能...  
    在PHP中实现进程间通讯...  
    用PHP实现文件上传二法...  
    php做柱型图的函数  
    用PHP实现上传的ZIP文...  
    ASP判断文件地址是否有...  
    PHP做Shell语言  
    用PHP动态生成虚拟现实...  
    PHP4.0数组相关函数的...  
    PHP应用提速面面观  
    怎样用PHP来给网页做导...  
    如何用php作线形图的函...  
    用javascript+PHP随机...  
    用phpUnit帮你调试php...  
    将PHP作为Shell脚本语...  
    用PHP调用数据库的存贮...  
    php中分页显示文章标题...  
    PHP生成动态WAP页面  
  更多>>  
   PHP编程技巧
 用PHP生成自己的LOG文件
如果你的服务器不容许你读他的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中用Socket发送电子邮件
  • 下一篇文章: PHP编程:字串的奥秘
  • 域浪网络ISP经营许可证 深圳地址:深圳市罗湖区宝安北路国际商品交易大厦七楼C30室
    Tel:0755-82266883/82267566 Fax:0755-82261966
    邮编:518000 
                        Copyright © 2006-2008 elang.cn All Rights Reserved 深圳市域浪网络技术有限公司版权所有