PHP 生成自己的LOG文件示例

前端之家收集整理的这篇文章主要介绍了PHP 生成自己的LOG文件示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对用PHP生成自己的LOG文件感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
如果你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧! 你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象'304 Not Modified' 和 'Internal Server Error' 一样的错误。你的代码生成自己的LOG文件
  1. /**
  2. * 用PHP生成自己的LOG文件
  3. *
  4. * @param
  5. * @arrange 512-笔记网: 512Pic.com
  6. **/
  7. /* 用户定义变量 */
  8. $logfile = "clf.log"; /*LOG文件写到那里 */
  9. $timezone = "+0100"; /* Timezone correction */
  10. $lookup_size = true; /* 设置文件的权限 */
  11. $document_root = "/usr/local/apache/share/htdocs";
  12. /* 他可能或不可能对相同的客户端记数
  13. * 一定要对$document_root 这个变量进行设置才可以工作
  14. */
  15. function write_to_log($str) {
  16. if($fd = @fopen($GLOBALS[ "logfile"],"a")) {
  17. fputs($fd,$str);
  18. fclose($fd);
  19. }
  20. }
  21. function get_var($name,$default) {
  22. if($var = getenv($name)) {
  23. return $var;
  24. } else {
  25. return $default;
  26. }
  27. }
  28. if($remote_host = get_var( "REMOTE_HOST",false)) {
  29. $remote_host = get_var( "REMOTE_ADDR","-");
  30. }
  31. $remote_user = get_var( "REMOTE_USER","-");
  32. $remote_ident = get_var( "REMOTE_IDENT","-");
  33. $server_port = get_var( "SERVER_PORT",80);
  34. if($server_port!=80) {
  35. $server_port = ":" . $server_port;
  36. } else {
  37. $server_port = "";
  38. }
  39. $server_name = get_var( "SERVER_NAME","-");
  40. $request_method = get_var( "REQUEST_METHOD","GET");
  41. $request_uri = get_var( "REQUEST_URI","");
  42. $user_agent = get_var( "HTTP_USER_AGENT","");
  43. if($lookup_size == true && $document_root) {
  44. $filename = ereg_replace( "\?.*","",$request_uri);
  45. $filename = "$document_root$filename";
  46. if(!$size = filesize($filename)) {
  47. $size = 0;
  48. }
  49. } else {
  50. $size = 0;
  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 $size\n";
  55. write_to_log($log);
  56. /*** 来自编程之家 jb51.cc(jb51.cc) ***/

猜你在找的PHP相关文章