Hallo Forummitglieder und Webmaster
Habe folgendes Problem mit meinem Counter Hier erstmal die Angaben
<?php
function read_counter($file, $counter = null) {
if(!is_readable($file)) return false;
$data = array();
$content = file($file);
foreach($content as $line) {
$line = trim($line);
if(empty($line)) continue;
if(preg_match("/^(#|\/\/|; )/", $line)) continue;
list($key, $value) = explode("=", $line);
$data[trim($key)] = trim($value);
}
if(!is_null($counter)) {
if(isset($data[$counter])) return $data[$counter];
else return false;
}
else {
return $data;
}
}
function write_counter($file, $value, $counter = null) {
$data = read_counter($file);
if(!is_array($data)) $data = array();
if(is_array($value)) {
foreach($value as $key => $val) $data[$key] = $val;
}
else {
if(!is_null($counter)) $data[$counter] = $value;
}
if(!$fh = @fopen($file, "w")) return false;
foreach($data as $key => $val) fputs($fh, "$key = $val\n");
fclose($fh);
return true;
}
function increase_counter($file, $counter = null) {
$data = read_counter($file);
if(!is_array($data)) $data = array();
if(is_null($counter)) {
foreach($data as $key => $val) $data[$key] += 1;
return write_counter($file, $data);
}
elseif(isset($data[$counter])) {
$data[$counter] += 1;
return write_counter($file, $data);
}
else {
return false;
}
}
$file = "counter.txt";
$counter = read_counter($file);
#$counter = read_counter($file, "article");
print_r($counter);
?>
wie kann ich vorgehen um
die downloads zu zählen z.b ===download: 23
die links zu zählen z.b ===views: 3
die article zu zählen z.b ===article: 999
Array ( [ [download: 23] => [views 3] => [article: 999] => ) könnte es so aussehen ?
Habe Schwierigkeiten mit den Funktion write_counter() ,read_counter() u.increase_counter()
Vielen Dank im voraus .
Habe folgendes Problem mit meinem Counter Hier erstmal die Angaben
<?php
function read_counter($file, $counter = null) {
if(!is_readable($file)) return false;
$data = array();
$content = file($file);
foreach($content as $line) {
$line = trim($line);
if(empty($line)) continue;
if(preg_match("/^(#|\/\/|; )/", $line)) continue;
list($key, $value) = explode("=", $line);
$data[trim($key)] = trim($value);
}
if(!is_null($counter)) {
if(isset($data[$counter])) return $data[$counter];
else return false;
}
else {
return $data;
}
}
function write_counter($file, $value, $counter = null) {
$data = read_counter($file);
if(!is_array($data)) $data = array();
if(is_array($value)) {
foreach($value as $key => $val) $data[$key] = $val;
}
else {
if(!is_null($counter)) $data[$counter] = $value;
}
if(!$fh = @fopen($file, "w")) return false;
foreach($data as $key => $val) fputs($fh, "$key = $val\n");
fclose($fh);
return true;
}
function increase_counter($file, $counter = null) {
$data = read_counter($file);
if(!is_array($data)) $data = array();
if(is_null($counter)) {
foreach($data as $key => $val) $data[$key] += 1;
return write_counter($file, $data);
}
elseif(isset($data[$counter])) {
$data[$counter] += 1;
return write_counter($file, $data);
}
else {
return false;
}
}
$file = "counter.txt";
$counter = read_counter($file);
#$counter = read_counter($file, "article");
print_r($counter);
?>
wie kann ich vorgehen um
die downloads zu zählen z.b ===download: 23
die links zu zählen z.b ===views: 3
die article zu zählen z.b ===article: 999
Array ( [ [download: 23] => [views 3] => [article: 999] => ) könnte es so aussehen ?
Habe Schwierigkeiten mit den Funktion write_counter() ,read_counter() u.increase_counter()
Vielen Dank im voraus .
Kommentar