Autor |
Nachricht |
heav
Threadersteller
Dabei seit: 10.02.2004
Ort: Heimat der Inspiration
Alter: 40
Geschlecht:
|
Verfasst Mi 17.05.2006 12:21
Titel Simpler PHP-Counter zählt nur bis 1 |
 |
|
Warum?
Code: | <?php
function get_urlvar($var_name){
if(!isset($_GET[$var_name])){
return ("");
} else {
return (trim(urldecode(mysql_escape_string($_GET[$var_name]))));
}
}
$File = fopen('./daten/cont.txt', 'r+');
$Counter = fread($File, filesize('./daten/cont.txt'));
$Counter++;
rewind($File);
fwrite($File, $Counter);
fclose($File);
$ac=get_urlvar("ac");
if ($ac == 'js'){
echo "document.write(' $Counter ');\n";
}else {
echo ' '.$Counter;
}
?> |
|
|
|
|
 |
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 43
Geschlecht:
|
Verfasst Mi 17.05.2006 13:09
Titel
|
 |
|
Code: | $Counter = fread($File, filesize('./daten/cont.txt')); |
öh.. filesize is immer 1, sofern die zahl nicht mehr als 256 stellen hat. klar eigentlich.. du willst ja die int aus dem file haben und nicht die größe in bytes.
|
|
|
|
 |
Anzeige
|
|
 |
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 44
Geschlecht:
|
Verfasst Mi 17.05.2006 13:16
Titel
|
 |
|
So wäre es richtige:
Code: | $fp = fopen('./daten/cont.txt', 'r+');
flock($fp, LOCK_EX);
$Counter = (int)fgets($fp);
$Counter++;
fputs($fp, $Counter);
flock($fp, LOCK_UN);
fclose($fp); |
|
|
|
|
 |
heav
Threadersteller
Dabei seit: 10.02.2004
Ort: Heimat der Inspiration
Alter: 40
Geschlecht:
|
Verfasst Mi 17.05.2006 13:28
Titel
|
 |
|
Immernoch 1
|
|
|
|
 |
dek
Dabei seit: 17.05.2006
Ort: fhn/bln
Alter: 49
Geschlecht:
|
Verfasst Mi 17.05.2006 13:47
Titel
|
 |
|
wenn ich das richtig sehe, versuchst du, die dateigröße als counter zu benutzen.
in dem fall hilft es dir natürlich nich, beim counter++ einfach nen neuen integer ins file zu schreiben. dü müsstest einfach einen character hinten dran hängen.
Code: |
$counter= $filecontent.'+'
writefile($counter);
|
|
|
|
|
 |
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 44
Geschlecht:
|
Verfasst Mi 17.05.2006 13:54
Titel
|
 |
|
So hab ichs gerade geteste und es funktiooniert.
Code: | <?php
$counter_file = './cont.txt';
if (!file_exists($counter_file)) {
$fp = fopen($counter_file, 'w+');
} else {
$fp = fopen($counter_file, 'r+');
}
flock($fp, LOCK_EX);
$Counter = (int)fgets($fp);
$Counter++;
rewind($fp);
fputs($fp, $Counter);
flock($fp, LOCK_UN);
fclose($fp);
echo $Counter . "\n";
?> |
|
|
|
|
 |
heav
Threadersteller
Dabei seit: 10.02.2004
Ort: Heimat der Inspiration
Alter: 40
Geschlecht:
|
Verfasst Mi 17.05.2006 14:05
Titel
|
 |
|
tacker hat geschrieben: | So hab ichs gerade geteste und es funktiooniert.
Code: | <?php
$counter_file = './cont.txt';
if (!file_exists($counter_file)) {
$fp = fopen($counter_file, 'w+');
} else {
$fp = fopen($counter_file, 'r+');
}
flock($fp, LOCK_EX);
$Counter = (int)fgets($fp);
$Counter++;
rewind($fp);
fputs($fp, $Counter);
flock($fp, LOCK_UN);
fclose($fp);
echo $Counter . "\n";
?> |
|
Zählt bei mir bis 1 und nicht weiter,... Der Fehler hängt irgendwo anders,..
|
|
|
|
 |
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 44
Geschlecht:
|
Verfasst Mi 17.05.2006 14:07
Titel
|
 |
|
Hat der Prozess Schreibrechte auf die cont.txt?
Lösch sie mal.
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
Simpler Onlineshop OHNE OS/XT-Commerce
Simpler Flashfilm | Stop und Play durch Button
Simpler HTML Editor gesucht(um z.B Ebay Auktionen zu machen)
[google] zählt besuche bei suche
ist da ein fehler in diesem counterscript? er zählt doppelt
Counter
|
 |