Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP-skripti ajastetusti joka sunnuntai?

Sivun loppuun

Kentti [03.08.2006 20:38:55]

#

Tietääkö kukaan sellasta php-funktiota, jota vois käyttää skriptissä, joka esimerkiksi lisää joka sunnuntai tietyn verran johonkin arvoon.

Funktio, jota etin, on se, joka kertoo skriptille, millon on sunnuntai, eli millon se lisäys pitää tapahtua.

Jos jollain on siihen joku oma funktio, jota saa käyttää, niin se on myös ok.

EDIT: Ööh-miksköhän tää tuli 2 kertaa?

tgunner [03.08.2006 20:44:01]

#

no sinunhan täytyy vain tehdä scripti, joka tarkistaa, että onko päivä sunnuntai. Jos on, kasvatetaan arvoa, jos taas ei niin sitten ei. Mutta tämähän täytyy tehdä vain kerran, eli siihen täytyy lyötää konsti jolla saisi scriptin tekemään sen vain kerran. Mietippäs siitä.
Ja näitä aiheita on kaksin kappalein!

Kentti [03.08.2006 20:47:48]

#

Ja muuten, toimiiko semmonen skripti, vaikka konetta ei avattais esim. kuukauteen, eli lisääks se sitten niiden 4 menneen sunnuntain lisäykset siihen myös?

Blaze [03.08.2006 20:49:55]

#

Jos sulla on shell-oikeudet palvelinkoneelle, voit käyttää käyttiksen ajastuspalveluita (cron), muuten kuten TGunner sanoi.

Sharph [03.08.2006 20:53:04]

#

Kentti kirjoitti:

Ja muuten, toimiiko semmonen skripti, vaikka konetta ei avattais esim. kuukauteen, eli lisääks se sitten niiden 4 menneen sunnuntain lisäykset siihen myös?

Se toimii niin, jos sä teet sen niin. Yksi tapa on esim. tallentaa jonnekkin viimeinen sunnuntai, milloin on lisätty, ja sitten aina suorittaessa lisätä jokaiselle sunnuntaille viimeisestä suoritussunnuntaista nykyhetkeen.

Metabolix [03.08.2006 21:27:43]

#

<?php
$vakio = mktime(0,0,0, 7,30,2006); # tunnettu sunnuntai menneisyydessä
$viikon_kesto = 7*24*60*60; # sekuntia
$monesko_viikko = @file_get_contents('seuraava_ajoviikko');
$aika_nyt = time();
if ($monesko_viikko === false) {
    # Tiedosto puuttui, tehdään alkuoletus.
    $monesko_viikko = (int)(($aika_nyt - $vakio) / $viikon_kesto);
}

$alkuperainen_monesko_viikko = $monesko_viikko;
while ($vakio + ($monesko_viikko * $viikon_kesto) < $aika_nyt) {
    $monesko_viikko++;
    # Tähän se ajettava touhu
}

if ($alkuperainen_monesko_viikko != $monesko_viikko) {
    file_put_contents('seuraava_ajoviikko', "$monesko_viikko");
}
?>

Jokseenkin noin.

Kentti [03.08.2006 21:47:01]

#

Kiitos, vielä vähän säätöä, niin koodi sopii loistavasti.

Muuten, miten tiedoston kirjoitusoikeuksia voi muuttaa?
Pitäis laittaa nuo tiedostot pois juurihakemistosta, ja näillä asetuksilla ei siihen voi kirjoittaa

Niko [03.08.2006 23:18:14]

#

http://www.webcron.org/index.php?lang=en

Toikin voisi myös auttaa

tgunner [04.08.2006 01:53:11]

#

Nii, Metabolix heti antamassa valmista koodia! Soosoo!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta