Go4Expert

Go4Expert (http://www.go4expert.com/)
-   PHP (http://www.go4expert.com/forums/php/)
-   -   Simple PageViews Counter (http://www.go4expert.com/forums/simple-pageviews-counter-t16947/)

Izaan 17Apr2009 22:08

Simple PageViews Counter
 
I just created this for one of my client

Create A File Called counter.txt With CHMOD 777 In The Root Directory

$Visits = file_get_contents("counter.txt");
file_put_contents("counter.txt", $Visits++);

It works great like statcounter and other programs which also does not do much like unique ip tracking and other stuff.

varaprasadreddy 23Apr2009 15:38

Re: Simple PageViews Counter
 
dear izaan we can create counter.text easily but how to create "counter.txt With CHMOD 777"
and where can we use that script "i understood but i mean that please show me in a html page in a real scenario to download that script & then i can use in my page "
please help me boss.
waiting for your reply.

shabbir 23Apr2009 15:45

Re: Simple PageViews Counter
 
counter.txt with CHMOD 777 means it should be read and writable by the PHP script.

In windows you need to set the needed permission using IIS and for Linux its simply changing the file permission.

I have not tested but it should work with chmod 666 as well as you do not need to execute anything.

PradeepKr 10Sep2010 13:02

Re: Simple PageViews Counter
 
I really doubt it worked.

PHP Code:

$Visits++ 

increments after it has already written the old count in the file. Hence no increment. Number would remain same.

change it to
PHP Code:

++$Visits 


pein87 16Sep2010 13:11

Re: Simple PageViews Counter
 
If you want it to keep track of IP's why not have it hold it as an array in a separate file.

PHP Code:

<?php

define
('COUNTER_FILE','counter.txt'); // define counter file
define('IP_FILE''ip_log.txt'); // define ip log

$ips file_get_contents(IP_FILE); // get file content as a variable

$visitCount file_get_contents(COUNTER_FILE); // get page views

$seperator " "// defaults to a space but change as you see fit

$ipRanges explode($seperator$ips); // transform into an array

$currentUsersIp $_SERVER['REMOTE_ADDR']; // get current IP


if (!in_array($currentUsersIp$ipRanges// check if the value is not in an array
{
 
// add it to array, save array it to a file and update file counter

$visitCount $visitCount 1// add one to the current visitor file
file_put_contents(COUNTER_FILE$visitCount); // write it to file
file_put_contents(IP_FILE$seperator $currentUsersIpFILE_APPEND); // add ip to ip log 
 
echo file_get_contents(COUNTER_FILE); // get visits including this new visit

}
else 
// is in array dont count it as a visit
{
// show current page views

echo $visitCount;
}

?>

Its not a complete solution but should work just fine if you want views to be unique based on ips.


All times are GMT +5.5. The time now is 09:56.