Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP last modified

Sivun loppuun

Flatologi [15.08.2009 15:21:34]

#

Sivuilla tällä hetkellä php-koodi joka ilmoittaa koska sivu on päivitetty. Nyt haluisin lisäksi saada etusivulle koodia joka ilmoittaisi koska sivustoa on päivitetty.

<?php echo  date( "d.m.Y, H:i", getlastmod() );?>

Teuro [15.08.2009 15:35:54]

#

Voitko muotoilla kysymystä vielä tarkemmaksi? Minkälaisen tulostuksen eusivulle tahdot.

MIB [15.08.2009 15:37:39]

#

Eiköhän getlastmod() otakkin talteen, koska sivua on muokattu viimeksi? Vai haluatko tietää, koska sivu on ladattu (Siis käyttäjä painanut esim F5) viimeksi?

Metabolix [15.08.2009 17:26:12]

#

Olisiko liikaa vaadittu, että joka päivityksen yhteydessä tallentaisit päivitysajan johonkin tiettyyn paikkaan, josta sen voisi helposti hakea tuohon suoraan?

peg [15.08.2009 17:43:53]

#

Vai tarkoitatko näin?

<?php
// tätä tiedostoa muokattu viimeksi
$filename = __file__;
if (file_exists($filename)) {
    echo "$filename was last modified: " . date ("d m Y H:i:s.", filemtime($filename));
}
?>

Flatologi [15.08.2009 18:09:05]

#

Eli tarkennuksena: etusivulla näkyisi milloin jotain muuta sivua on muokattu, lisätty, poistettu jne. Eli voisi nähdä heti onko jotain jossain muuttunut.
Voihan sen tietysti itsekin manuaalisesti tehdä, mutta miksi tehdä itse, jos voi nakittaa sen koneelle ;)
Joka sivulla näkyy milloin sitä on muokattu, joten kaiketi etusivulle php-koodi joka lukee sen tuoreimman?

MIB [15.08.2009 18:11:45]

#

Kannattaa soveltaa tuota pegin postaamaa koodia.

Teuro [15.08.2009 18:20:58]

#

Käyt silmukassa haluamasi sivut läpi ja tarkistat onko käyttäjän keksissä olevat aikaleimat vanhempia, kuin hakemasi aikaleimat. Tällöin pääset ehkä kaikkein helpoimmalla. Jos siis nyt yhtään tajusin asian punaista lankaa.

Antti Laaksonen [16.08.2009 20:11:52]

#

Seuraava koodi ilmoittaa, milloin jotain tiedostoa on muokattu viimeksi hakemistossa ja alihakemistoissa.

<?php

$uusin = getlastmod();

function haku($hak) {
    global $uusin;
    foreach (glob("$hak/*") as $tied) {
        if (is_dir($tied)) {
            haku($tied);
        } else {
            $uusin = max($uusin, filemtime($tied));
        }
    }
}

haku(".");

echo "Viimeisin päivitys: " . date("j.n.Y G:i:s", $uusin);

?>

Sivun alkuun

Vastaus

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

Tietoa sivustosta