The counterUrl() function presented in this page can be used to make a counter for the number of visits of your web site pages, with data (URL of each accessed page, number of visits) stored into a text file on server, in JSON format.
- The function returns an array with: ['p'=>page_address, 'v'=>nr_visits]. For other details and usage, see the comments in code.
- Click to select it.
/* PHP Script Counter Page Visits (PHP 5.4+) /from: http://coursesweb.net/
- Counter data is saved in JSON format into a text file on server
- Create a file on your server with the name added in $file_json, and permissions CHMOD 0755 (or 0777)
*/

// HERE add the path and Name of the file where to save the counter data
$file_json = 'count_url.json';

//function to get and save a Counter for accessed pages
//receives the page address, and the address of the file where to save data (in json format)
//returns array with: ['p':page_address, 'v':nr_visits]
function counterUrl($p, $f){
  $url_c = ['p'=>$p, 'v'=>0];  //counter of current accessed page

  //if $file_json exists, gets is data into an array
  $ar_c = file_exists($f) ? json_decode(file_get_contents($f), true) :[];

  //if array $ar_c, traverse it, checks if current $pg_url is saved and increments its counter
  if(is_array($ar_c)){
    $nr = count($ar_c);
    for($i=0; $i<$nr; $i++){
      if($ar_c[$i]['p'] == $url_c['p']) {
        //store counter of current url, remove this item from array
        $url_c['v'] = $ar_c[$i]['v'];
        unset($ar_c[$i]);
        $ar_c = array_values($ar_c);
        break;
      }
    }
  }

  //increment counter and save data in json file (show error message if unable to save)
  $url_c['v']++;
  $ar_c[] = $url_c;
  if(!file_put_contents($f, json_encode($ar_c))) echo 'Unable to save data in: '. $f;
  return $url_c;
}

//Usage of the function, output the current page-address (without domain name) and number of visits
$url_c = counterUrl($_SERVER['REQUEST_URI'], $file_json);
echo 'Page: '. $url_c['p'] .' - Visits: '. $url_c['v'];
// Output: Page: /php-mysql/counter-page-visits_cs - Visits: 89

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which attribute is used in <a> tag for the address of the link?
src href rel
<a href="http://coursesweb.net/" title="CoursesWeb.net">CoursesWeb.net</a>
Which CSS property sets the type of the text font?
font-family text-decoration font-size
h2 {
  font-family:"Calibri",sans-serif;
}
What instruction selects all the <div> tags with class="cls"?
querySelector("div.cls") getElementsByTagName("div") querySelectorAll("div.cls")
var elm_list = document.querySelectorAll("div.cls");
var nr_elms = elm_list.length;       // number of selected items
alert(nr_elms);
Indicate the function that can be used to get the sum of values in an array.
array_sum() array_diff() array_shift()
$arr = array(1, 2, 3, 4);
$arr_sum = array_sum($arr);
echo $arr_sum;       // 10
Counter Page Visits

Last accessed pages

  1. The Rise Of Atlantis (5169)
  2. Mahjong Gardens (4151)
  3. Bloons Tower Defense 5 (408)
  4. Dog Mahjong (3486)
  5. Volume and Surface Area Calculator for 3D objects (5928)

Popular pages this month

  1. Qwop (4763)
  2. Bubbles3 (4405)
  3. Butterfly Kyodai (3134)
  4. Zuma Deluxe (2904)
  5. Backgammon (1486)