Counter

hallo!

ich versuch grad für meine website einen counter zu programmieren.
was heisst programmieren; man ist ja faul und hat einfach den hier genommen:
http://www.webmaster-resource.de/tricks/php/counter-…

funktioniert auch soweit richtig gut.
aber ich wollte noch das feature einbauen, dass ich mir den täglichen strom anzeigen lasse!
also neue datei countday.txt aufgemacht und klappt auch sehr schön. einziger haken:
ich muss den ja irgendwann wieder zurücksetzen auf 0; also um 0 uhr möglichst. doch wie kann ich das erreichen? müsste ja irgendeinen thread oder so laufen lassen…

hat wer ideen?

mfg
Geisterkarle

Du schreibst doch den Timestamp mit in die Counter-Datei, deshalb brauchst du eigentlich keine extra-Datei für den Tag, sondern kannst alles mit Hilfe des Timestamps in den Einträgen ermitteln und den Bereich, den du brauchst, auslesen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Du schreibst doch den Timestamp mit in die Counter-Datei,
deshalb brauchst du eigentlich keine extra-Datei für den Tag,
sondern kannst alles mit Hilfe des Timestamps in den Einträgen
ermitteln und den Bereich, den du brauchst, auslesen.

komm ich jetzt nich ganz mit.
ich schreibe KEINEN timestamp irgendwo hin. ich schreibe time() in die ip.txt, ja, doch time() hat ja als rückgabewert:
Gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.
dadurch die uhrzeit rauszufinden is nich so ganz einfach… natürlich möglich!

bringt mir aber immernoch keine lösung, wie ich dem programm sage: „so, es ist 0 uhr, setze die zahl in countday.txt auf 0!“
kann natürlich mir ein programm schreiben

while (true)
{
 if (date(h:i:s)=="00:00:00";
 {
 $FilePointerCountDay = fopen($DateinameCountDay, "r+");
 $CounterDay = 0;
 rewind($FilePointerCountDay);
 fwrite($FilePointerCountDay, $CounterDay);
 fclose($filePointerCountDay);
 }
}

und dann in einem fenster ablaufen lassen.
doch dann muss schätze ich mal, für die ewigkeit dieses fenster offen bleiben…
ich will das automatisch!
ist das nicht möglich???

mfg
Geisterkarle

ich schreibe KEINEN timestamp irgendwo hin. ich schreibe
time() in die ip.txt, ja, doch time() hat ja als rückgabewert:
Gibt die seit Beginn der Unix-Epoche (Januar 1 1970
00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.

Und genau DAS ist der Unix-Timestamp: Die seit Beginn der Unix-Epoche vergangenen Sekunden :wink:

dadurch die uhrzeit rauszufinden is nich so ganz einfach…
natürlich möglich!

Das ist das einfachste der Welt :wink:
Angenommen, du willst wissen, wie der Timestamp heut Nacht um 0 Uhr war, dann gibt dir das folgende Code-Zeile aus:
mktime(0,0,0,date(„n“),date(„j“),date(„Y“));

und gestern 0 Uhr wäre dann
mktime(0,0,0,date(„n“),date(„j“)-1,date(„Y“));
(Wenn der eine „0“ als Tag des Monats übertragen kriegt, springt er automatisch auf den letzten Tag des vorigen Monats zurück, genaus verhölt es sich mit Monaten und Jahren. Musst dir also um „falsche“ Datunmsangaben keine Sorgen machen, sondern kannst ganz getrost den Timestamp vom 0.0.1999 abfragen :wink: [ergibt den 31.11.1998])

so, da du ja bestimmt auf neues wartest :wink:

hab das ganze übern haufen geschmissen.
ich habs zwar hinbekommen, aber ich hätte die .txt auf public-writable machen müssen; muss ja nich zwanghaft sicherheitsrisiko eingehn!

aber hatte nun genug ansätze das ganze ganz primitiv mysql-technisch umzusetzen!
sollte nun tun. bin mal gespannt, ob der counter morgen runter is :smiley:

so, da du ja bestimmt auf neues wartest :wink:

hab das ganze übern haufen geschmissen.
ich habs zwar hinbekommen, aber ich hätte die .txt auf
public-writable machen müssen; muss ja nich zwanghaft
sicherheitsrisiko eingehn!

secret/counter.txt
secret/.htaccess

aber hatte nun genug ansätze das ganze ganz primitiv
mysql-technisch umzusetzen!
sollte nun tun. bin mal gespannt, ob der counter morgen runter
is :smiley:

na dann :wink: