File: /home/suanchonac/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;
}
}
?>