/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Underlig opdateringsdato for hjemmesider
Fra : Anders Boholdt-Peter~


Dato : 18-01-07 14:19

Hej,

Jeg har på mine sider indsat følgende koder, der burde gøre, at brugeren kan
se, hvornår jeg sidst har opdateret de enkelte sider:

---
<?php
// Sørg for at datoudskriften følger dansk standard.
setlocale(LC_ALL, 'danish');
echo "<p>".strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
getlastmod())."</p>\n";
?>
---

Imidlertid oplever jeg, at opdateringsdatoen er forkert.

Jeg kalder siderne gennem en fil der hedder side.php, og med ovenstående
kode er det tilsyneladende opdateringsdatoen for filen side.php der bliver
vist i stedet for den aktuelle side.

Kalder man f.eks.
http://www.boholdt-petersen.dk/side.php?id=10
kan man se, at siden sidst er opdateret den 09. januar 2007.

Kalder man derimod adressen direkte
http://www.boholdt-petersen.dk/mobiltale.php
kan man se, at siden er opdateret i dag, hvilket er korrekt.

Er der nogle der har løsningsforslag til, hvoran man kan få vist
opdateringsdatoen for de enkelte sider, i stedet for at det er
opdateringsdatoen for filen side.php man ser?

På forhånd tak for eventuelle svar.

--

/ Anders
http://www.boholdt-petersen.dk



 
 
Arne Feldborg (18-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 18-01-07 23:49

"Anders Boholdt-Petersen" <post-REMOVETHIS-@boholdt-petersen.dk> skrev
Thu, 18 Jan 2007 14:18:53 +0100


>Imidlertid oplever jeg, at opdateringsdatoen er forkert.
>
Hvis der er tale om en anden fil (end den der præsenterer resultatet)
skal du bruge filemtime().

Her er et eksempel sakset direkte fra manualen:

<?php
$filename = 'somefile.txt';
if (file_exists($filename)) {
echo "$filename was last modified: " . date ("F d Y H:i:s.",
filemtime($filename));
}
?>


--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Anders Boholdt-Peter~ (20-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 20-01-07 16:59

"Arne Feldborg" <feldborg@haunstrup.dk> skrev i en meddelelse
news:n4uvq2531rd8u84vi34l8rdqu97572cvkn@4ax.com...
> Hvis der er tale om en anden fil (end den der præsenterer resultatet)
> skal du bruge filemtime().

Kan man også her indsætte linien som jeg tidligere har postet, så
datoformatet bliver korrekt dansk?

--

/ Anders
http://www.boholdt-petersen.dk



Jesper Brunholm (20-01-2007)
Kommentar
Fra : Jesper Brunholm


Dato : 20-01-07 21:38

Anders Boholdt-Petersen skrev:
> "Arne Feldborg" <feldborg@haunstrup.dk> skrev i en meddelelse
> news:n4uvq2531rd8u84vi34l8rdqu97572cvkn@4ax.com...
>> Hvis der er tale om en anden fil (end den der præsenterer resultatet)
>> skal du bruge filemtime().
>
> Kan man også her indsætte linien som jeg tidligere har postet, så
> datoformatet bliver korrekt dansk?

Ja, det handler om at strftime() (ligesom date() i Arne Fs eksempel),
skal have et timestamp med som parameter.

Se gerne på http://dk.php.net/strftime og http://dk.php.net/date

Det timestamp kan man så få fra funktionen getlastmod() som giver
opdateringstiden på den fil hvis navn står i adresselinjen, eller man
kan få det fra filemtime() som i stedet kan give modified-timestamp på
en vilkårlig fil.

filemtime() og getlastmod() kan du også finde i manualen . Det korte
af det lange er at du kan udskifte getlastmod() med filemtime(X) - du
skal bare have filnavnet på den aktuelle side ind i stedet for X
(eventuelt med en variabel, __FILE__ er værd at undersøge...)

Mvh

Jesper Brunholm

Anders Boholdt-Peter~ (22-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 22-01-07 08:13

"Jesper Brunholm" <nospam@brunholm-scharff.dk> skrev i en meddelelse
news:45b27da4$0$49197$14726298@news.sunsite.dk...
> Ja, det handler om at strftime() (ligesom date() i Arne Fs eksempel), skal
> have et timestamp med som parameter.

Kan man bruge følgende kode, der så viser opdateringsdatoen for en vilkårlig
fil:

---
<?php
// Sørg for at datoudskriften følger dansk standard.
setlocale(LC_ALL, 'danish');
echo "<p>".strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
getlastmod(filnavn.php))."</p>\n";
?>
---

--

/ Anders
http://www.boholdt-petersen.dk



Jesper Brunholm (22-01-2007)
Kommentar
Fra : Jesper Brunholm


Dato : 22-01-07 20:07

Anders Boholdt-Petersen skrev:
> Kan man bruge følgende kode, der så viser opdateringsdatoen for en vilkårlig
> fil:
>
> ---
> <?php
> // Sørg for at datoudskriften følger dansk standard.
> setlocale(LC_ALL, 'danish');
> echo "<p>".strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
> getlastmod(filnavn.php))."</p>\n";
> ?>

Nej, som du kan se på http://dk.php.net/getlastmod (og som du har fået
at vide tidligere i tråden) skal du udskifte getlastmod() med filemtime.

Dernæst så skal filnavn.php afspejle navnet på den fil som du kalder
koden i, så når du står i kontakt.php så skal der stå
filemtime('kontakt.php')
osv.

Hvis du har et array til at lave id'erne om til filnavne (der står
side.php?id= osv i din adresselinje), kan du sikkert hente filnavnet som
der skal kaldes opdateringstid på, ved hjælp af det array og id-værdien.

Mvh

Jesper Brunholm

Anders Boholdt-Peter~ (23-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 23-01-07 08:50

"Jesper Brunholm" <nospam@brunholm-scharff.dk> skrev i en meddelelse
news:45b50b5f$0$49200$14726298@news.sunsite.dk...
> Nej, som du kan se på http://dk.php.net/getlastmod (og som du har fået at
> vide tidligere i tråden) skal du udskifte getlastmod() med filemtime.

Jeps.

Det har jeg nu forsøgt.

Jeg har kopieet selve datoformateringen ind, så det burde give samme
resultat, men det gør det ikke.

Eksempel fra filen avg.php:

---
<?php
// Sørg for at datoudskriften følger dansk standard.
setlocale(LC_ALL, 'danish');

$filename = 'avg.php';
if (file_exists($filename)) {
echo "siden er sidst opdateret" . date ("%d. %B %Y %H:%M:%S.",
filemtime($filename));
}
?>
---

Denne kode giver et noget sjovt resultat.

Hvis jeg blot kopierede koden fra manualen, og ovenover indsatte linierne
for korrekt dansk datoformat, fik jeg kun resultatet ud med engelsk
datoformat.

Hvor er det at jeg kludre i den (jeg vil gerne have, at ovenstående kode gør
at jeg får et dansk datoformat)?

Jeg har kikket i manualen, men blev ikke klogere.

--

/ Anders
http://www.boholdt-petersen.dk
>
> Dernæst så skal filnavn.php afspejle navnet på den fil som du kalder koden
> i, så når du står i kontakt.php så skal der stå
> filemtime('kontakt.php')
> osv.
>
> Hvis du har et array til at lave id'erne om til filnavne (der står
> side.php?id= osv i din adresselinje), kan du sikkert hente filnavnet som
> der skal kaldes opdateringstid på, ved hjælp af det array og id-værdien.
>
> Mvh
>
> Jesper Brunholm



Arne Feldborg (23-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 23-01-07 17:07

"Anders Boholdt-Petersen" <post-REMOVETHIS-@boholdt-petersen.dk> skrev
Tue, 23 Jan 2007 08:50:22 +0100


><?php
>// Sørg for at datoudskriften følger dansk standard.
>setlocale(LC_ALL, 'danish');
>
>$filename = 'avg.php';
>if (file_exists($filename)) {
> echo "siden er sidst opdateret" . date ("%d. %B %Y %H:%M:%S.",
>filemtime($filename));
>}
>?>
>---
>
>Denne kode giver et noget sjovt resultat.
>
Det skal den også gøre. Du bruger koden for strftime() men udfører den
med date(). Som tidliger nævnt skal du bruge strftime() hvis du vil have
dansk datoformat, og du skal bruge filemtime() hvis det er en 'fremmed'
fil du vil have datoen for.

Din line skal se sådan her ud:

echo strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
filemtime($filename)).";


--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Arne Feldborg (23-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 23-01-07 17:37

Arne Feldborg <feldborg@haunstrup.dk> skrev Tue, 23 Jan 2007 17:06:48
+0100


>Din line skal se sådan her ud:
>
>echo strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
>filemtime($filename)).";
>
Lige et P.S.

Hvis du vil komme nemt om ved at definere datoformatet kan også bare
bruge denne her:

strftime("%c",filemtime($filename))

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Anders Boholdt-Peter~ (25-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 25-01-07 21:44

"Arne Feldborg" <feldborg@haunstrup.dk> skrev i en meddelelse
news:d9ccr29snajgc8793es1m30et71hh8e9vf@4ax.com...
> Din line skal se sådan her ud:
>
> echo strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
> filemtime($filename)).";

Denne kode giver mig en fejl i linie 24 i mit dokument.

Jeg bruger nu følgende kode:

---
<?php
// Sørg for at datoudskriften følger dansk standard.
setlocale(LC_ALL, 'danish');

$filename = 'avg.php';
echo strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
filemtime($filename)).";
}
?>
---

Nogle der ved hvor fejlen ligger?

--

/ Anders
http://www.boholdt-petersen.dk



Peter Brodersen (25-01-2007)
Kommentar
Fra : Peter Brodersen


Dato : 25-01-07 22:37

On Thu, 25 Jan 2007 21:44:05 +0100, "Anders Boholdt-Petersen"
<post-REMOVETHIS-@boholdt-petersen.dk> wrote:

>Nogle der ved hvor fejlen ligger?

Nu paster du betydeligt mindre end 24 linjer, så det er svært at vide,
hvilke linjer, der ligger omkring linje 24.

Men i det pastede har du en slut-krølle-parentes i overskud: }

Fjern den, hvis du ikke i øvrigt har nogen løkker eller deslige.

--
- Peter Brodersen
Kendt fra Internet

Jesper Brunholm (25-01-2007)
Kommentar
Fra : Jesper Brunholm


Dato : 25-01-07 22:39

Anders Boholdt-Petersen skrev:
>> echo strftime("Denne side er sidst opdateret %d. %B %Y %H:%M:%S",
>> filemtime($filename)).";
>
> Denne kode giver mig en fejl i linie 24 i mit dokument.

Ja, den afslutter med at påbegynde en tekststreng med '."', men ikke
gøre denne færdig.

Slet ." så skulle det virke

Mvh

Jesper Brunholm

Anders Boholdt-Peter~ (30-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 30-01-07 21:22

"Jesper Brunholm" <nospam@brunholm-scharff.dk> skrev i en meddelelse
news:45b92358$0$49208$14726298@news.sunsite.dk...
> Slet ." så skulle det virke

Jeps, tusind tak for hjælpen!!!

--

/ Anders
http://www.boholdt-petersen.dk



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste