Termos!
Olisi taas tällainen itselleni hieman liian haastava php hommeli mielessä. Eli nyt tarvitsisi saada aina jokaikisenä tasatuntina (11:00, 12:00, 13:00...) esim. muuttujaan $summa lisättyä +500. Tiedän, että php ei osaa käynnistyä itsestään, tiedän myös, että c++:saa on turha miettiäkkään koska en omista omaa palvelinta. Aikani mietittyä ongelmaa keksin, että eikö sitä voisi hoitaa niin, että aina kun joku rekisteröitynyt jäsen kirjautuu sivuille ja painaa submit nappulaa, niin php skripti osaisi katsoa koska edellisen kerran kyseinen henkilö on painanut submit nappulaa, jos aikaa on kulunut yli tunti niin lisätään +500 $summa muuttujaan aina jokaista kulunutta tuntia kohden.
Eli skriptin tarvitsisi osata tallentaa $tunnus.gxy tiedostoon $aika muuttujaan aika kun submit nappulaa on viimeksi painettu ja lisätä aina se +500 $summa muuttujaan jokaista kulunutta tuntia kohden.
Voisikohan sen toteuttaa tuolla periaatteella? Mielestäni se olisi aivan mahdollista, eikö? Jos joku osaisi auttaa niin olisin erittäin kiitollinen : )
<?php $tiedosto = "aika.txt"; $file = file($tiedosto); $aika = time("H:m"); $summa = trim($file[0]); if ($aika == "00:00") { $summa = $summa + 500; } elseif ($aika == "01:00") { $summa = $summa + 500; } elseif ($aika == "02:00") { $summa = $summa + 500; } // JNE... Tee loput itse. $kahva = fopen($tiedosto, "w"); //Kirjoitetaan uusi arvo fputs($kahva, $summa); fclose($kahva); ?>
Tästä voi puuttua jotain... En jaksanut edes yrittää sitä käyttäjän viimeistä aikaa ja sitten plussattaisiin 500. Tekisin sen itse kekseillä.
Edit: Koodissa virhe
Hmm, joo-o, katsellaan miten tuota voisi soveltaa itse koodiin, saattaapi mennä aika mutkikkaaksi... o_O
No jos tuo timestamp toimii niin kuin luulen, niin tämä näyttäisi toimivan. (Mitä kokeilin tietokoneen kelloa säätää)
<?php $fname = "$tunnus.gxy"; $aika = time(); $tiedosto = file($fname); $erotus = $aika - $tiedosto[0]; $kulunut = date("H", $erotus) - 2; $tulos = $tiedosto[1] + $kulunut * 500; $kahva = fopen($fname, "w"); fwrite($kahva, $aika . "\n"); fwrite($kahva, $tulos); fclose($kahva); ?>
Osaat varmaan soveltaa tuota.
edit: koodista puuttui yksi juttu, lisäsin sen.
Hmm... niin, tietokoneen kello, =) Sehän ei tietenkään saa toimia niin, että tietokoneen kelloa säätämällä saat ylimääräisiä "pisteitä", kyseessä on nimittäin eräänlainen peli.
Niin mutta eihän kukaan pelaaja nyt serverin kelloa säätele (ainakaan yleensä)? Kun tuo vetäisee ajat serverin kellosta.
Minä testasin kotikoneellani joka toimii servuna tuota ja en jaksanut kovin pitkään odottaa, joten säätelin kelloa ja testasin siten. Ihan kohtuullisen hyvin toimi.
Hmm hmmm... no mutta niinpä tietysti :D Täytyypä yrittää soveltaa sitä käytäntöön joku yö.
Aihe on jo aika vanha, joten et voi enää vastata siihen.