Funktio viimeisimmän tiedostomuokkauksen selvittämiseksi.
<?php /* Funktio ottaa argumentikseen hakemiston, käy läpi kaikki tiedostot ja alihakemistot ja palauttaa viimeisimmäksi muokatun tiedoston aikaleiman */ function last_mod($dir) { $a = @opendir($dir); while($fname = @readdir($a)) { if ($fname == "." || $fname == "..") continue; if(is_file("$dir/$fname")) $mod_time[] = filemtime("$dir/$fname"); if(is_dir("$dir/$fname")) $mod_time[] = last_mod("$dir/$fname"); } @closedir($a); if(is_array($mod_time)) rsort($mod_time); return $mod_time[0]; } print "Sivuja on viimeksi muokattu ".date("d.m.Y. H:i:s.",last_mod(".")); ?>
Ihan toimivan näköinen ja kätevä on.
houkuttelevan näköisiä koodivinkkejä joita en voi testata kun ei ole PHP:tä.
Itselläni päivämäärä on tunnin edellä.
Mitenkäs tuon sais skippaamaan pari tiedostoa?
kun muuten joka kävijä "päivittää" sivuja kun counter.txt päivittyy ja vieraskirjaan kirjoittaja päivittää myös..
Tällehän on ihan oma funktionsa phpssä..?
Getlastmod:
https://www.php.net/manual/en/function.
E: Tämä siis katsoo koko sivusta? (sinun tekemäsi)
Arvoja on sinänsä ihan turha kerätä taulukkoon ja lopussa järjestää, kun voisi helposti pitää kirjaa vain siitä suurimmasta arvosta max-funktion avulla. Muuten ihan hyvä koodi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.