counter.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?php
  2. $os_name;
  3. $os_version;
  4. $br_version;
  5. $br_name;
  6. $array;
  7. function set_os($os)
  8. {
  9. Global $os_version,$os_name,$array;
  10. $os_version="";
  11. for($i=0;$i<sizeof($array);$i++)
  12. {
  13. $j=$i+1;
  14. if(eregi("$os",$array[$i]) && eregi("^[0-9]{1,2}([\.]{1}[0-9]{1,2})*[a-z]{0,1}$",$array[$j])) $os_version=$array[$j];
  15. }
  16. }
  17. function set_br($br)
  18. {
  19. Global $br_version,$br_name,$array;
  20. $br_version="";
  21. for($i=0;$i<sizeof($array);$i++)
  22. {
  23. $j=$i+1;
  24. if(eregi("$br",$array[$i]) && eregi("^[0-9]{1,2}([\.]{1}[0-9]{1,2})*[a-z]{0,1}$",$array[$j])) $br_version=$array[$j];
  25. }
  26. }
  27. function check_agent()
  28. {
  29. Global $HTTP_SERVER_VARS,$os_name,$os_version,$br_version,$br_name,$array;
  30. $temp=$HTTP_SERVER_VARS["HTTP_USER_AGENT"];
  31. $temp=eregi_replace("([ 0-9\.\])*%","",$temp);
  32. $temp=trim(eregi_replace("-|_|=|\+|;"," ",$temp));
  33. $array=split(" ",$temp);
  34. if(eregi("([a-z])+/",$array[0])){$br_version_temp=split("/",$array[0]);}
  35. $br_version_temp=$br_version_temp[1];
  36. if(eregi("Win|Window",$temp))
  37. {
  38. $os_name="Windows";
  39. if(ereg("s 3\.1|n3\.1",$temp)) $os_version="3.1";
  40. if(ereg("s 95|n95",$temp)) $os_version="95";
  41. if(ereg("s 98|n98",$temp)) $os_version="98";
  42. if(ereg("s CE|nCE",$temp)) $os_version="CE";
  43. if(ereg("s ME|nME",$temp)) $os_version="ME";
  44. if(ereg("s NT|nNT",$temp)) $os_version="NT";
  45. if(ereg("s NT|nNT",$temp) && eregi("T 5\.0| 2000",$temp)) $os_version="2000";
  46. if(ereg("s NT|nNT",$temp) && eregi("T 5\.1| XP",$temp)) $os_version="XP";
  47. if(ereg("s NT|nNT",$temp) && eregi("T 6\.0",$temp)) $os_version="Vista";
  48. if(ereg("s NT|nNT",$temp) && eregi("T 6\.1",$temp)) $os_version="7";
  49. }
  50. elseif(eregi("Mac PowerPC|PPC",$temp))
  51. {
  52. $os_name="Mac PowerPC";
  53. set_os("Mac powerPC");
  54. }
  55. elseif(eregi("Mac",$temp))
  56. {
  57. $os_name="Macintosh";
  58. set_os("Mac");
  59. }
  60. elseif(eregi("Linux",$temp))
  61. {
  62. $os_name="Linux";
  63. set_os("Linux");
  64. }
  65. elseif(eregi("IRIX",$temp))
  66. {
  67. $os_name="IRIX";
  68. set_os("IRIX");
  69. }
  70. elseif(eregi("sunOS",$temp))
  71. {
  72. $os_name="sunOS";
  73. set_os("sunOS");
  74. }
  75. elseif(eregi("phone",$temp))
  76. {
  77. $os_name="CellPhone";
  78. set_os("phone");
  79. }
  80. else
  81. {
  82. $os_name="알 수 없음.";
  83. $os_version="";
  84. }
  85. if(eregi("MSN",$temp))
  86. {
  87. $br_name="MSN";
  88. set_br("MSN");
  89. }
  90. elseif(eregi("MSIE",$temp))
  91. {
  92. $br_name="MSIE";
  93. set_br("MSIE");
  94. }
  95. elseif(eregi("(\[){1}[a-z]{1,3}(\]){1}",$temp) && eregi("\]",$temp))
  96. {
  97. $br_name="Netscape";
  98. $br_version=$br_version_temp;
  99. }
  100. elseif(eregi("opera",$temp))
  101. {
  102. $br_name="Opera";
  103. set_br("opera");
  104. if(!$br_version)
  105. {
  106. $br_version=$br_version_temp;
  107. }
  108. }
  109. elseif(eregi("gec|gecko",$temp))
  110. {
  111. $br_name="Gecko";
  112. set_br("Gecko");
  113. if(!$br_version)
  114. {
  115. $br_version=$br_version_temp;
  116. }
  117. }
  118. elseif(eregi("MSMB",$temp))
  119. {
  120. $br_name="MSMB";
  121. }
  122. else
  123. {
  124. $br_name="알 수 없음.";
  125. }
  126. }
  127. function check_counter($connect) {
  128. global $_SERVER;
  129. Global $HTTP_SERVER_VARS,$os_name,$os_version,$br_version,$br_name,$array;
  130. $gm_session_id = session_id();
  131. $gm_year = date("Y");
  132. $gm_month = date("m");
  133. $gm_day = date("d");
  134. $gm_hour = date("H");
  135. $gm_week = date("w");
  136. $cnt = @mysql_result(mysql_query("SELECT count(*) cnt
  137. FROM GM_Counter WHERE
  138. gm_session_id='".$gm_session_id."'
  139. and gm_year='".$gm_year."'
  140. and gm_month='".$gm_month."'
  141. and gm_day='".$gm_day."'
  142. and gm_hour='".$gm_hour."'"),0,0);
  143. if ($cnt>0) {
  144. mysql_query("UPDATE GM_Counter SET
  145. gm_page_view=gm_page_view+1
  146. WHERE gm_session_id='".$gm_session_id."'
  147. and gm_year='".$gm_year."'
  148. and gm_month='".$gm_month."'
  149. and gm_day='".$gm_day."'
  150. and gm_hour='".$gm_hour."'",$connect);
  151. } else {
  152. $log=@str_replace("http://www.","http://",$_SERVER[HTTP_REFERER]);
  153. $log=@str_replace("http://","",$log);
  154. $gm_http_referer = eregi_replace("^(.{2,6}://)?([^/]*)?(.*)", "\\2", $log); //방문경로주소
  155. check_agent();
  156. $gm_brower = $br_name." ".$br_version;
  157. $gm_os = $os_name." ".$os_version;
  158. $qry = "INSERT INTO GM_Counter SET
  159. gm_session_id = '".$gm_session_id."',
  160. gm_page_view = 1,
  161. gm_year = '".$gm_year."',
  162. gm_month = '".$gm_month."',
  163. gm_day = '".$gm_day."',
  164. gm_hour = '".$gm_hour."',
  165. gm_week = '".$gm_week."',
  166. gm_http_referer = '".$gm_http_referer."',
  167. gm_http_referer_detail = '".$_SERVER[HTTP_REFERER]."',
  168. gm_remote_addr = '".$_SERVER[REMOTE_ADDR]."',
  169. gm_http_user_agent = '".$_SERVER[HTTP_USER_AGENT]."',
  170. gm_brower = '".$gm_brower."',
  171. gm_os = '".$gm_os."'
  172. ";
  173. mysql_query($qry,$connect);
  174. }
  175. }
  176. ?>