Statistik in Textdatei
alkativo
- php
Hi,
ich habe so eine Seitenstatistik für eine Webseite eingerichtet. Da steht die IP und Zeit und so was drin. Bei fast 1000 Zugriffen pro Tag wächst diese Datei um ca 150k pro Tag. Ich frage mich, ob die erste eingelesen wird, oder nur Text hinten dran gesetzt wird und die grösse der Datei keine Rolle spielt und die Seite noch genau so schnell läuft. Weiß das hier jemend?
Bis dann
Al
hi,
Da steht die IP und Zeit und so was drin. Bei fast 1000 Zugriffen pro Tag wächst diese Datei um ca 150k pro Tag. Ich frage mich, ob die erste eingelesen wird, oder nur Text hinten dran gesetzt wird
das hängt wohl in erster linie davon ab, wie du das schreiben in ("an") die datei gestaltet hast.
gruß,
wahsaga
So:
$accessdb = fopen ( $database , "a+" );
fwrite ( $accessdb , "\n".$ret."*".$ip."*".$ip_name."*".$_SERVER['HTTP_USER_AGENT']."*".$site."*".$jsref."*".$jsres."*".$jscolor."*" );
fclose ( $accessdb );
Moin!
So:
$accessdb = fopen ( $database , "a+" );
fwrite ( $accessdb , "\n".$ret."*".$ip."*".$ip_name."*".$_SERVER['HTTP_USER_AGENT']."*".$site."*".$jsref."*".$jsres."*".$jscolor."*" );
fclose ( $accessdb );
system(echo "$ret."*".$ip."*".$ip_name."*".$_SERVER['HTTP_USER_AGENT']."*".$site."*".$jsref."*".$jsres."*".$js >> $database);
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo,
was möchtest du mit diesem Posting sagen? Es geht doch nur darum ob es länger dauert in ein volles Textfile zu schreiben, als in ein leeres.
Bis dann
Al
Moin!
was möchtest du mit diesem Posting sagen? Es geht doch nur darum ob es länger dauert in ein volles Textfile zu schreiben, als in ein leeres.
'echo "Pla" >> file' hängt den Inhalt auf jeden Fall an die Datei an, ohne diese zu öffnen. Wie PHP das löst, weiss man erst nach einen Blick in den PHP-Quelltext.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
und fopen, fwrite, fclose
liest der denn jedesmal alles aus? oder schreibt der Befehl auch nur dran?
Moin!
liest der denn jedesmal alles aus? oder schreibt der Befehl auch nur dran?
Wie PHP das löst, weiss man erst nach einen Blick in den PHP-Quelltext.
Meine Antwort hattest Du also bereits. Ich weiss es nicht... womöglich ist dies von den bei fopen() verwendeten Parametern abhängig.
Klarheit schaffen nur Tests und der besagte Blick in den Quelltext von PHP (nicht der des Skriptes, sondern in die Routinen des Interpreters).
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
system(echo "$ret."*".$ip."*".$ip_name."*".$_SERVER['HTTP_USER_AGENT']."*".$site."*".$jsref."*".$jsres."*".$js >> $database);
Ich sehe gerade Sterne.... Die werden von der Shell zu den Dateinamen im Verzeichnis aufgelöst.
Lösung:
system("echo '$ret*$ip*$ip_name*$_SERVER['HTTP_USER_AGENT']*$site*$jsref*$jsres*$js' >> $database");
Also: alternativ:
system("echo $ret\$ip\$ip_name\$_SERVER['HTTP_USER_AGENT']\$site\$jsref\$jsres\*$js >> $database");
Um Manipulationen vorzubeugen solltest Du aber noch daran denken, welche Daten vom Benutzer kommer. Das kann auch die aufgerufene Seite sein:
system("echo $ret\$ip\$ip_name\$_SERVER['HTTP_USER_AGENT']\".escapeshellcmd($site)."\$jsref\$jsres\*$js >> $database");
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®