"; // Default would output: // Visits: 10 // Unique Visits: 10 /*--------------------------*/ /*--------BEGIN CODE--------*/ $log_file = dirname(__FILE__) . '/' . $lf_name; //Check for "?display=true" in URL. if ($_GET['display'] == "true") { //Show include() info. die("
<? include(\"" . dirname(__FILE__) . '/' . basename(__FILE__) . "\"); ?>
"); } else { //Visit or IP. $uIP = $_SERVER['REMOTE_ADDR']; //Check for "hits.txt" file. if (file_exists($log_file)) { //Check if today is first day of month if (date('j') == 10) { //Ensure that monthly dir exists if (!file_exists($monthly_path)) { mkdir($monthly_path); } //Check if prev month log file exists already $prev_name = $monthly_path . '/' . date("n-Y", strtotime("-1 month")); if (!file_exists($prev_name)) { //If not, move/rename current file copy($log_file, $prev_name); //Create new $toWrite based on CONFIG //Write file according to CONFIG above. if ($type == 0) { $toWrite = "1"; $info = $beforeAllText . "1"; } else if ($type == 1) { $toWrite = "1;" . $uIP . ","; $info = $beforeUniqueText . "1"; } else if ($type == 2) { $toWrite = "1;1;" . $uIP . ","; $info = $beforeAllText . "1" . $separator . $beforeUniqueText . "1"; } goto write_logfile; } } //Get contents of "hits.txt" file. $log = file_get_contents($log_file); //Get type from CONFIG above. if ($type == 0) { //Create info to write to log file and info to show. $toWrite = intval($log) + 1; $info = $beforeAllText . $toWrite; } else if ($type == 1) { //Separate log file into hits and IPs. $hits = reset(explode(";", $log)); $IPs = end(explode(";", $log)); $IPArray = explode(",", $IPs); //Check for visitor IP in list of IPs. if (array_search($uIP, $IPArray, true) === false) { //If doesnt' exist increase hits and include IP. $hits = intval($hits) + 1; $toWrite = $hits . ";" . $IPs . $uIP . ","; } else { //Otherwise nothing. $toWrite = $log; } //Info to show. $info = $beforeUniqueText . $hits; } else if ($type == 2) { //Position of separators. $c1Pos = strpos($log, ";"); $c2Pos = strrpos($log, ";"); //Separate log file into regular hits, unique hits, and IPs. $pieces = explode(";", $log); $allHits = $pieces[0]; $uniqueHits = $pieces[1]; $IPs = $pieces[2]; $IPArray = explode(",", $IPs); //Increase regular hits. $allHits = intval($allHits) + 1; //Search for visitor IP in list of IPs. if (array_search($uIP, $IPArray, true) === false) { //Increase ONLY unique hits and append IP. $uniqueHits = intval($uniqueHits) + 1; $toWrite = $allHits . ";" . $uniqueHits . ";" . $IPs . $uIP . ","; } else { //Else just include regular hits. $toWrite = $allHits . ";" . $uniqueHits . ";" . $IPs; } //Info to show. $info = $beforeAllText . $allHits . $separator . $beforeUniqueText . $uniqueHits; } } else { //If "hits.txt" doesn't exist, create it. $fp = fopen($log_file ,"w"); fclose($fp); //Write file according to CONFIG above. if ($type == 0) { $toWrite = "1"; $info = $beforeAllText . "1"; } else if ($type == 1) { $toWrite = "1;" . $uIP . ","; $info = $beforeUniqueText . "1"; } else if ($type == 2) { $toWrite = "1;1;" . $uIP . ","; $info = $beforeAllText . "1" . $separator . $beforeUniqueText . "1"; } } write_logfile: //Put $toWrite in log file file_put_contents($log_file, $toWrite); //Display info if is set in CONFIG. if ($display == 1) { echo $info; } } ?>