Avatar billede jnrmgs Juniormester
10. april 2005 - 20:40 Der er 15 kommentarer og
1 løsning

Sidst opdateret?

Hej!

Jeg har en hjemmeside, hvor jeg gerne vil have at der står nederst på en række sider hvornår pågældende side sidst er opdateret.

De fleste sider er PHP-sider, der inderholder en række HTML-sider. Scriptet skal være i en af disse sider.

Der skal f.eks. stå: "Sidst opdateret: Søndag den 10. april 2005"


Jeg havde tidl. et script på HTML-siderne, men efter jeg er gået over til PHP-includes skriver den i stedet dags dato, hvilket jo ikke dur!

På forhånd tak!
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 20:46 #1
http://se2.php.net/function.filemtime

<?php
// outputs e.g.  somefile.txt was last modified: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
  echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>
Avatar billede jnrmgs Juniormester
10. april 2005 - 21:08 #2
Det nytter jo ikke noget, når det er på en HTML-side jeg skal have det ind på!

PHP-siden er sådan set kun en slags rammesæt.

Findes der ikke et simpelt javascript der kan sættes ind?

Hidtil har jeg brugt:

  var theDate = document.lastModified
  document.write(\"Sidst opdateret: \");
  document.write(theDate);
  document.write()

Men dette returnerer nu kun dags dato. Jeg ved ikke helt hvorfor, men det har nok noget at gøre med at HTML-filen nu bliver inkluderet i en PHP-side?
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 21:35 #3
Så omdød din .html til .php og smid php kommandoen ind, og include den som normalt :)
Avatar billede olebole Juniormester
10. april 2005 - 21:42 #4
<ole>

Ellers indeholder 'document.lastModified' datoen - men du skal nok replace lidt i strengen, hvis du vil have den i et andet format:
    <script type="text/JavaScript">document.write(document.lastModified)</script>

/mvh
</bole>
Avatar billede jnrmgs Juniormester
10. april 2005 - 21:56 #5
Jeg ved ikke hvad der skete for mig, men det var i hvert fald det forkerte script jeg fik kopieret ind.

Den har hidtil har brugt er følgende:

var DagNavn = new
Array("S&oslash;ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L&oslash;rdag");
var MaanedNavn = new Array("januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december");
var TID = new Date(document.lastModified);
var aar=TID.getYear();
if ((navigator.appName == "Microsoft Internet Explorer") && (aar < 2000))       
aar="200" + aar;
if (navigator.appName == "Netscape")
aar=1900 + aar;
document.writeln("Sidst ændret: "+ DagNavn[TID.getDay()] + " den " + TID.getDate() + ". " +  MaanedNavn[TID.getMonth()] + " " + aar +"")
Avatar billede olebole Juniormester
10. april 2005 - 22:50 #6
Det her skulle du sagtens kunne bruge - PHP eller ej:

<script type="text/JavaScript">
var DagNavn = new Array("S\370ndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","L\370rdag");
var MaanedNavn = new Array("januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december");
var TID = new Date(document.lastModified);
document.writeln("Sidst ændret: "+ DagNavn[TID.getDay()] + " den " + TID.getDate() + ". " +  MaanedNavn[TID.getMonth()] + " " + TID.getFullYear())
</script>

Der var et par fejl og en enkelt uhensigtsmæssighed i det script, du skrev  :)
Avatar billede olebole Juniormester
10. april 2005 - 22:53 #7
Du kan ikke bruge HTML-entities som '&oslash;' i JavaScript. Der kan du i stedet anvende den escapede oktalværdi af tegnets keyCode. For tegnet 'ø' er det '\370'.
Du kan evt. downloade min lille konverter her:
    http://tjenester.dk/x-codes.dk/eksperten/oktal_konverter/
Avatar billede jnrmgs Juniormester
05. maj 2005 - 17:20 #8
Uanset hvad så opfører scriptet sig ligesådan uanset hvad jeg gør. Den viser konsekvent dags dato på siderne.

Min side ligger på http://www.john-nissen.dk/. Man kan se sidst opdateret nederst, som altid viser dags dato, hvilket jo ikke er hensigten.

Forslag til hvad jeg kan gøre modtages gerne. Gad vide om det overhovedet kan lade sig gøre!
Avatar billede jnrmgs Juniormester
05. maj 2005 - 17:20 #9
Avatar billede roenving Novice
06. maj 2005 - 12:13 #10
-- og det er garanteret fordi du bruger server-side kode til at generere siden, og så er den jo sidst opdateret et par mikro-sekunder før !-)

-- lav noget i dit server-side-script som henter fildatoen !o]
Avatar billede roenving Novice
06. maj 2005 - 12:14 #11
PS. begge dine links giver fejl 400, Forkert anmodning ...
Avatar billede jnrmgs Juniormester
06. maj 2005 - 13:51 #12
Du må være lidt mere konkret i dit svar. Jeg har ingen anelse om hvad du mener.

Linket http://www.john-nissen.dk/jernbaneside/ virker da også?

Siderne er bygget op på den måde at jeg har en PHP-side, med en tabel. I hver celle er der så inkluderet nogle HTML-sider. På en af HTML-siderne ligger så scriptet med "sidst opdateret".
Avatar billede roenving Novice
06. maj 2005 - 14:15 #13
Når du bruger document.lastModified tager den tidsstemplet fra den aktuelle fil (og det sker jo først, når siden rammer browseren !-)

Den aktuelle fil er den, som dit php-script lige har genereret på serveren, så tidsstemplet kommer altså spritnyt-genereret fra serveren ...

-- altså må du i stedet lave noget i dit php-script sætter en dato ind i det felt, hvor den tager tidsstemplet fra filen i stedet !o]
Avatar billede jnrmgs Juniormester
06. maj 2005 - 14:18 #14
Ja ok, så er jeg med.

Jeg har dog ingen anelse om hvordan jeg skal lave det PHP-script så den tager tidsstemplet fra HTML-filen!

Håber nogen kan hjælpe!
Avatar billede roenving Novice
06. maj 2005 - 14:27 #15
Så er det nok også mere fremgangsrigt at stille spørgsmålet i php-kategorien !-)
Avatar billede jnrmgs Juniormester
06. maj 2005 - 15:06 #16
O.k. Det prøver jeg så. Spørgsmålet er hermed lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester