Fehler beim Schreiben in Datei
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
aufruf
aussehen
bar
benutzer
besucher
call
count
datei
inhalt
klammern
los
motivierten personen
nchsten besuch
person
user
variable
zeitpunkt
zusammengefat beitrag
-
Hi,
ich hab' jetzt gerade keine Lust zu erklären, was folgender Code bringt, er sollte einfach die Variable $user in die Datei anhängen und die Variable $calls inkrementieren. Die Datei foo.php wird oft aufgerufen, es ist also möglich, dass zwei Benutzer diese Datei zum selben Zeitpunkt aufrufen.
Inhalt der Datei foo.dat:
836 user1|user2|user3
Wenn z.B. ein Besucher names mr_kill die Datei bar.php besucht, sollte der Inhalt der Datei foo.dat so aussehen:
837 user1|user2|user3|mr_kill
Bei einem nächsten Besuch:
838 user1|user2|user3|mr_kill
Das ist alles.
Das Problem: z.T. wird die Variabel $calls falsch in die Datei geschrieben, z.B. wird von 0 an wieder gezählt. Auch die Variabel $users wird z.T. falsch in die Datei geschrieben.
Wo liegt das Problem?
Datei bar.php:
<?php $ud_file = 'foo.dat'; $lines = @file($ud_file); list($calls,$users) = is_array($lines) && count($lines) == 2 ? $lines : array(0,''); $calls = (int) $calls; $users = explode('|',trim($users,'| ')); $calls++; if (!in_array($u = strtolower($_GET['u']),$users)) $users[] = $u; if (($fp = @fopen($ud_file,'w')) !== false) { if (@flock($fp,LOCK_EX)) { fwrite($fp,$calls . "\n" . implode('|',$users)); @flock($fp,LOCK_UN); } fclose($fp); } ?>
mfg,
hr
---
Ok, jetzt brauch ich nur noch eine Hilfreche Antwort... wäre nett.
Edit by djfun: Doppelpost zusammengefasst
Beitrag geändert: 9.6.2007 23:03:29 von djfun -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich kenn mich damit auch nicht so aus,
aber ich kann dir das Homepage-Forum empfehlen...
Da kannst du bestimmte etwas mehr darüber erfahren...
(http://www.homepage-forum.de/) -
Hmm naja, das bringt mir nicht so viel... hier gibt es doch genügend Personen die sich gut mit php auskennen ...
Was ist eigentlich los mit Lima, sind alle motivierten Personen verschwunden? -
Mach mal ein Beispieldokument ...
-
also hab ka woran es liegen könnte.
Bei mir ist es aber ab und zu so das ich einfach ne klammer vergessen habe.
Vielleicht liegt es daran, glaube ich aber nicht (mir ist nix aufgefallen) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage