Sivut

torstai 3. marraskuuta 2016

Log Reportico Use Count



Tässä PHP koodi, jolla voidaa laskea ja kirjata lokiin Reportico käytäjien määrä.

<?php
/*
 * Remember to remove <?php ?> tags when include Reportico
 *
 */

define('TIMEZONE', 'Europe/Helsinki');
date_default_timezone_set(TIMEZONE);

$dbfile = 'reports_all.db';
$cur_ip = getIP();
$name = "Report name";
$created = date('d-m-Y H:i:s');

if (file_exists($dbfile)) {
    $data = seekLastLine($dbfile);
    $count = (int)strpbrk($data, "0123456789");
    $count = $count + 1;
    $out = sprintf("%04d", $count);
    $data = $out . " : " . $cur_ip . " : " . $name . " : " . $created . "\n";
    $fh = fopen($dbfile, "a+");
    fwrite($fh, $data);
}
else {
    $fh = fopen($dbfile, "w");
    $data = "1 : " . $cur_ip  . " : " . $name . " : " . $created . "\n";
    fwrite($fh, $data);
    fclose($fh);
}

function seekLastLine($f) {
    $f = escapeshellarg($f); // for the security concious
    $line = `tail -n 1 $f`;
    return $line;
}

function getIP() {
  if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  elseif(isset($_SERVER['REMOTE_ADDR'])) $ip = $_SERVER['REMOTE_ADDR'];
  else $ip = "0";
  return $ip;
}
?>

Ei kommentteja:

Lähetä kommentti