最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

用PHP生成自己的LOG文件

时间:2014-06-09 16:40来源: 作者: 点击: 次
假如你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧,你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象304 Not Modified 和 Internal Server Er

假如你的服务器不容许你读他的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. } 
  18.  
  19. function get_var($name,$default) { 
  20. if($var = getenv($name)) { 
  21. return $var; 
  22. } else { 
  23. return $default; 
  24. } 
  25. } 
  26.  
  27. if($remote_host = get_var( "REMOTE_HOST", false)) { 
  28. $remote_host = get_var( "REMOTE_ADDR", "-"); 
  29. } 
  30. $remote_user = get_var( "REMOTE_USER", "-"); 
  31. $remote_ident = get_var( "REMOTE_IDENT", "-"); 
  32. $server_port = get_var( "SERVER_PORT", 80); 
  33. if($server_port!=80) { 
  34. $server_port = ":" . $server_port; 
  35. } else { 
  36. $server_port = ""; 
  37. } 
  38. $server_name = get_var( "SERVER_NAME", "-"); 
  39. $request_method = get_var( "REQUEST_METHOD", "GET"); 
  40. $request_uri = get_var( "REQUEST_URI", ""); 
  41. $user_agent = get_var( "HTTP_USER_AGENT", ""); 
  42. if($lookup_size == true && $document_root) { 
  43. $filename = ereg_replace( "?.*", "", $request_uri); 
  44. $filename = "$document_root$filename"; 
  45. if(!$size = filesize($filename)) { 
  46. $size = 0; 
  47. } 
  48. } else { 
  49. $size = 0; 
  50. } 
  51.  
  52. $date = gmdate( "d/M/Y:H:i:s"); 
  53. $log = "$remote_host $remote_ident $remote_user [$date $timezone] "". 
  54. "$request_method http://$server_name$server_port$request_uri" 200 $sizen"; 
  55.  
  56. write_to_log($log); 
  57. ?> 
(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容