File: /home/suanchonac/domains/suanchon.ac.th/public_html/oh/counter.php
<?php
class Counter {
    // path to file
    public $path = 'countlog.txt';
    function count_counter($counter_file_name) {
        $old_file = "";
        $new_file = "";
        // Opens countlog.txt all lines.
        $file  = fopen( $this->path, "r" );
        while( !feof($file) ) {
            $old_file .= fgets($file);
        }
        fclose($file);
    
        // Opens countlog.txt to read the number of hits.
        $lines = file($this->path);
        $old_line = "";
        $new_line = "";
        $pos = "";
        foreach($lines as $line) {
            $pos = strpos($line, $counter_file_name."=");
            
            // Update the counter 
            if ($pos !== false) {
                $old_line = $line;
                $line_split = explode("=", $line);
                $count = abs( intval( $line_split[1] ) ) + 1;;
                $new_line = $line_split[0]. "=" .$count. "\n";
                break;
            }
        }
        // no found any record in file
        if ($old_line == "") {
            $new_line = $counter_file_name. "=1\n";
            $new_file = $old_file . $new_line;
        } else {
            // replace string
            $new_file = str_replace($old_line, $new_line, $old_file);
        }
        // Opens countlog.txt to change new hit number.
        $file = fopen( $this->path, "w" );
        fwrite( $file, $new_file );
        fclose( $file );
    }
    function get_counter($counter_file_name) {
        // Opens countlog.txt to read the number of hits.
        $lines = file($this->path);
        $count = 0;
        foreach($lines as $line) {
            $pos = strpos($line, $counter_file_name."=");
            if ($pos !== false) {
                $split_line = explode("=", $line);
                $count = $split_line[1];
				
                break;
            }
        }
        // Output the updated count.
        echo $count;
    }
}
?>