index | PHP jokes | About author

Like my PHP hit counter, feel free to use it. Started 5/1/2024.

//Makes or adds to hit count for a month.
//Make file name
$fileName = $_SERVER['DOCUMENT_ROOT'] . '/stats/' . date('mY') . '.txt';
//Check existence.
if (file_exists($fileName)) {
    //Add one if exists.
    file_put_contents($fileName,bcadd('1',file_get_contents($fileName)));
} else {
    //Make it one if not existent yet.
    file_put_contents($fileName,'1');
}
//X E.

To call it:

include $_SERVER['DOCUMENT_ROOT'] . '/stats/hits.php';

5/12/2024, 7:57PM, while that above works it needs error handling as in this. 5/14/2024, 9:31AM, updated. 5/15/2024, 9:42AM, updated. 5/28/2024, 11:06AM, updated.

//log errors to user
function customErrorXE($errno, $errstr) {
  echo 'Error with page view count:' . $errno . ' message:' . $errstr . ' X E.';
  //die();
}
//set error handler
set_error_handler('customErrorXE');
date_default_timezone_set("UTC");
//Makes or adds to hit count for a month.
//Make file name
$fileName = $_SERVER['DOCUMENT_ROOT'] . '/stats/' . date('mY') . '.txt';
//Check existence.
if (file_exists($fileName)) {
    //Add one if exists.
    file_put_contents($fileName,bcadd('1',trim(file_get_contents($fileName))));
} else {
    clearstatcache();
    if (file_exists($fileName)) {
        //Add one if exists.
        file_put_contents($fileName,bcadd('1',trim(file_get_contents($fileName))));
        die();
    }
    usleep(1000);
    clearstatcache();
    if (file_exists($fileName)) {
        //Add one if exists.
        file_put_contents($fileName,bcadd('1',trim(file_get_contents($fileName))));
        die();
    }
    usleep(10000);
    clearstatcache();
    if (file_exists($fileName)) {
        //Add one if exists.
        file_put_contents($fileName,bcadd('1',trim(file_get_contents($fileName))));
        die();
    }
    //Make it one if not existent yet.
    file_put_contents($fileName,'1');
}
//X E.

X E.