当前位置:首页 > PHP教程 > php高级应用 > 列表

用PHP生成自己的LOG文件

发布:smiling 来源: PHP粉丝网  添加日期:2013-12-09 16:11:56 浏览: 评论:0 

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

  1. <?php 
  2. /* 用户定义变量 */ 
  3. $logfile = "clf.log"/*LOG文件写到那里 */ 
  4. $timezone = " 0100"/* Timezone correction */ 
  5. $lookup_size = true; /* 设置文件的权限 */ 
  6. $document_root = "/usr/local/apache/share/htdocs"
  7.  
  8. /* 他可能或不可能对相同的客户端记数 
  9. * 一定要对$document_root 这个变量进行设置才可以工作 
  10. */ 
  11.  
  12. function write_to_log($str) { 
  13. if($fd = @fopen($GLOBALS"logfile"], "a")) { 
  14. fputs($fd$str); 
  15. fclose($fd); 
  16.  
  17. function get_var($name,$default) { 
  18. if($var = getenv($name)) { 
  19. return $var
  20. else { 
  21. return $default
  22.  
  23. if($remote_host = get_var( "REMOTE_HOST", false)) { 
  24. $remote_host = get_var( "REMOTE_ADDR""-"); 
  25. $remote_user = get_var( "REMOTE_USER""-"); 
  26. $remote_ident = get_var( "REMOTE_IDENT""-"); 
  27. $server_port = get_var( "SERVER_PORT", 80); 
  28. if($server_port!=80) { 
  29. $server_port = ":" . $server_port
  30. else { 
  31. $server_port = ""
  32. $server_name = get_var( "SERVER_NAME""-"); 
  33. $request_method = get_var( "REQUEST_METHOD""GET"); 
  34. $request_uri = get_var( "REQUEST_URI"""); 
  35. $user_agent = get_var( "HTTP_USER_AGENT"""); 
  36. if($lookup_size == true && $document_root) { 
  37. $filename = ereg_replace"?.*"""$request_uri); 
  38. $filename = "$document_root$filename"
  39. if(!$size = filesize($filename)) { 
  40. $size = 0; 
  41. else { 
  42. $size = 0; 
  43.  
  44. $date = gmdate"d/M/Y:H:i:s"); 
  45. $log = "$remote_host $remote_ident $remote_user [$date $timezone] "". 
  46. "$request_method http://$server_name$server_port$request_uri" 200 $sizen"; 
  47.  
  48. write_to_log($log); 
  49. ?> 

Tags: PHP 生成 LOG文件

分享到: