Last updated on May 12th, 2016 at 11:44 am

VN:F [1.9.22_1171]
Rating: 7.6/10 (111 votes cast)

Hit counter using php

Welcome, this tutorial will guide you on how to make a PHP hit counter.

Also check Graphical Hit Counter using PHP
Requirments: You should know the basics to a file system unit. Means you need to create a text file which is writable.

Step 1: Create a PHP script called ‘counter.php’ and a text file called ‘hits.txt’ WITH a value of 0 [You Just Create A Text File And Put Number ZERO On That And Save It], if you are not doing this your counter script wont work.Make sure the TXT file it has enough permissions.

Review: You should now have 2 files open, ‘counter.php’ open with nothing in it and ‘hits.txt’ open with a ‘0’ in it.

Step 2: CLOSE ‘hits.txt’ (We don’t need it any more for now) Now we need to start PHP coding, so first we do is enter the basic page outline as used in most php pages.

Step 3: Now we need to read the file hits.txt using a PHP script, this code is outlined below.

$open = fopen("hits.txt", "r+");
$value = fgets($open);
$close = fclose($open);
$value++;

Review: You now can read the file, and it will double, hence the ‘$value++;’,

Step 4: Now we should output the new number to the file. This is the easy part.

$open = fopen("hits.txt", "w+");
fwrite($open, $value); // variable is not restated, bug fixed.
$close = fclose($open);

Review: Now we have the number plus one in the file ‘hits.txt’.

Step 5: Let’s echo the value so that it can be included anywhere.

echo $value;

Final Talk: Ok, so now your PHP file should look like this:

$open = fopen("hits.txt", "r+");
$value = fgets($open);
$close = fclose($open);

$value++;

$open = fopen("hits.txt", "w+");
fwrite($open, $value); // variable is not restated, bug fixed.
$close = fclose($open);

echo $value;

?>

Note: This script works perfectly fine for low traffic website. As it is using simple text file as a counter there are lot of restrictions. High traffic website must use a Database like MySQL to increment the counter.

VN:F [1.9.22_1171]
Rating: 7.6/10 (111 votes cast)
14 thoughts on “Hit counter using php”
  1. No matter which way I enter code to read a text file or write a text file, for some reason my counter.php won’t read or write to that file. I have used 4 different ways to code it and I always end up printing 1 view. I tried debugging before I update the counter and $value never gets a value to it, just empty.

    VA:F [1.9.22_1171]
    Rating: 2.5/5 (4 votes cast)
  2. Dear Daniel,

    First check if there is any extra charecters in your code when you tried to copy and paste the code above.

    Second have you checked the permissions of the TXT file you are trying to R/W with the php script.

    Third if none of the above worked pls paste the code here.I will try to rectify the issue.

    Thanks.

    VN:F [1.9.22_1171]
    Rating: 3.2/5 (5 votes cast)
  3. hi, where do i put the php code, most of my website is in html but i’m using IIS php 5.2 Fast CGI. I dont want my hits displayed on my website, any advice, Just want it for personal reasons. Just started a blog.
    please help

    VA:F [1.9.22_1171]
    Rating: 3.0/5 (3 votes cast)
    1. Hello Zain,
      Since you are using html codes, i suppose all your files will have .html extension.So what you need to do is since your server support php you can do like this
      1)Create a PHP file named hit.php
      2)Copy and paste the entire code i have given in this post except echo $value
      3)add an iframe in your html code
      4)Call the hit.php from the iframe.If you want you can give the height and width of the IFRAME as 0%
      4)This will get your counter hidden from others.
      This will help you i believe.Do visit my website for more tricks thanks.

      VN:F [1.9.22_1171]
      Rating: 4.0/5 (5 votes cast)
  4. Its too simple.Just opening the txt file and incrementing var and closing the fileThats it.I didn’t thought that adding counter is so simple through PHP..Great! I will definitely try this.Thanks for sharing.

    VA:F [1.9.22_1171]
    Rating: 5.0/5 (1 vote cast)
  5. If you get error like : Warning: fopen(“hitstxt”) [function.fopen]: failed to open stream: No error in C:\wamp\www\test\counter.php on line 3

    It’s because when you copied and pasted the code, the quotes are pasted as “hits.txt” instead of “hits.txt” in notepad.

    Solution, just replace all “ with ” and, ” with “.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  6. 0 + 0 = 0

    so set the contents of hits.txt to 1

    or use $value = $value + 1

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  7. Adding hit counter to your blog or site is always a good idea and using PHP script is great.Using PHP scripts over others has many benefits like PHP hits counter are open source and do not depend on browser configuration that’s why they track visitors perfectly.Thanks for sharing such an informative post.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  8. this is not a sufficient code for counter , i am a new learner of php. i want to create a simple counter in which a box in which number is count.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  9. Great and useful information. Thanks for sharing this useful information.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply

Your email address will not be published. Required fields are marked *