Version: 1.2
Type: Full Script
Category: HTTP
License: GNU General Public License
Description: This counter can do: -count how many visits you got :-) -ignoring reloads(if the new ip is the same or older than "Wait") as the last one accessed ! -show the date on which the counter started (in a unix timestamp See at the end for formating) -show the last visited date/time(in a unix timestamp See at the end for formating) -show the ip of the last visitor -show pictures (named 1.jpg, 2.jpg ...0.jpg) If ya like this or got better ideas drop me a line: Simmad@gmx.at www.simma-online.at
<?php
/*
This counter creates a file that lists all ip addresses
that have visited the site. If a new ip address visits
the counter increases bye one and adds the ip address to
its list. A cookie is put on the computer also to speed
up to process for old users... a long list of ip address
can take a while to search. The addresses are not in order.
1-Check for cookie that says been to page
2-If cookie then do nothing (no code required)
3-If no cookie then check for ip adress in database
4-If ip adress found create new cookie
5-If ip adress not found then create new cookie,
add 1 to the count and add ip adress to list
6-display count
*/
//check for ipaddress
function findip($ip, $filename){
$file = fopen($filename, "r");
$contents = fread($file, filesize($filename));
fclose($file);
//get data
$tok = strtok($contents,"\n");
$count=$tok;
for ($i = 0; $i < $count; $i++){
if ($ip == strtok("\n")){
return 1;
}
}
return 0;
}
$filename = "count.txt";
//check if file exists
if (!file_exists($filename)){
$file = fopen($filename , "w");
fwrite($file, "0");
fclose($file);
}
//find count - number of ip addresses
$file = fopen($filename,"r");
$count = fgets($file); //get number of visiting ips
fclose($file);
//look for cookie and ipaddress
//decide if person has visited before
if ($visited == NULL){
setcookie("visited","1",time()+2592000);
if (!findip($REMOTE_ADDR, $filename)){
$count = $count + 1;
$file = fopen($filename, "r+");
fwrite($file, "$count");
fclose($file);
$file = fopen($filename, "a+");
fwrite($file, "$REMOTE_ADDR\n");
fclose($file);
}
}
?>
<html>
<head>
</head>
<body>
<?php
//display count of visited ip addresses
for ($i=0; $i < strlen($count); $i++)
{
$sign = substr($count, $i, 1);
print("<img src=\"$sign.jpg\" border=\"0\" alt=\"$sign\">");
}
?>
</body>
</html>