SEARCH
  Web Programming PHP A Nice Hit Counter

A Nice Hit Counter

Spacetech PHP Mar 27, 2007

A Nice Hit CounterI shows

Total Hits
Unique Hits
Todays Hits
Todays Unique Hits

1. Create a file called 'counter.php" and insert:

<?php
// todays stats;
$counter = "stats.txt";


$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);
$contents = file($counter);
$total_hits = sizeof($contents);
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
    $entry = explode("|", $contents[$i]);
    array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
    $entry = explode("|", $contents[$i]);
    if ($current_date == chop($entry[1])) {
        array_push($daily_hits, $entry[0]);
    }
}
$daily_hits_size = sizeof($daily_hits);
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
    $entry = explode("|", $contents[$i]);
    if ($current_date == chop($entry[1])) {
        array_push($daily_hosts, $entry[0]);
    }
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

?>
<? echo "
<b>Total Hits:</b> " . $total_hits . "<br>
<b>Unique Hits:</b>  " . $total_hosts_size . "<br>
<b>Todays Hits:</b>  " . $daily_hits_size . "<br>
<b>Todays Unique Hits:</b> " . $daily_hosts_size; 
?>

2. Now upload "counter.php" to your server and create a file called "stats.txt" and upload it to your server. CHMOD "stats.txt" to 777 and use this code to view the stats on your page

<?php include('counter.php'); ?>

subscribe to newsletter