Toon posts:

document last modified

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goede middag,

Ik heb een vraagje, namelijk; ik probeer al een tijdje een oplossing te vinden die ervoor zorgt dat ergens op mijn homepage wordt weergegeven dat de laaste update gedaan is op:..........Nu heb ik een tijd op google gezocht en ben ik er achter gekomen dat je dat kan met java script en document.lastmodified.

Na een aantal scripts proberen werkte het nog steeds niet, ik ben toen verder gaan lezen en kwam toevallig een stuk tegen waarin ik las dat het ook zo kan zijn dat je header die informatie niet meegeeft en dat je dat ergens kon controleren.

Ik vond ergens een link van een site die je header kon bekijken als de url van je website opgaf.
Op deze site las ik dus ook dat mijn header waarschijnlijk deze inforatie niet meestuurde!!.

De vraag is dus nu, is er een manier waarop ik die info wel met de header mee kan sturen, zodat ik kan laten zien waaneer mijn site voor het laaste geupdate is. Of kan ik het nog met een andere soort code of oplossing oplossen.

Het gaat om .php pagina´s, en in dit geval vooral om de index.

Mijn vraag is nu dus is er nog een andere oplossing, voor dit probleem??

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat krijg je dan als resultaat en kan je het stukje JS posten wat je gebruikt?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • bakkerl
  • Registratie: Augustus 2001
  • Laatst online: 18-04 21:45

bakkerl

Let there be light.

Een php pagina wordt dynamisch op dat moment in elkaar gezet. De last modified zal dan altijd het moment van opvragen zijn.

Echter kun je wel in php de timestamp van de file zelf opvragen. Deze zou wel goed moeten zijn.

Verwijderd

Topicstarter
Als resultaat krijg ik idd altijd de tijd van het moment van laden

Dit is het script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<script language="JavaScript">

 
<!-- hide from non-JavaScript browsers

function getCookieVal (offset) {

  var endstr = document.cookie.indexOf ("Update_Cookie", offset);

  if (endstr == -1)

    endstr = document.cookie.length;

  return unescape(document.cookie.substring(offset, endstr));

}


function GetCookie (name) {

  var arg = name + "=";

  var alen = arg.length;

  var clen = document.cookie.length;

  var i = 0;

  while (i < clen) {

    var j = i + alen;

    if (document.cookie.substring(i, j) == arg)

      return getCookieVal (j);

    i = document.cookie.indexOf("Update_Cookie", i) + 1;

    if (i == 0) break; 

  }

  return null;

}


function SetCookie (name, value) {

  var argv = SetCookie.arguments;

  var argc = SetCookie.arguments.length;

  var expires = (argc > 2) ? argv[2] : null;

  var path = (argc > 3) ? argv[3] : null;

  var domain = (argc > 4) ? argv[4] : null;

  var secure = (argc > 5) ? argv[5] : false;

  document.cookie = name + "=" + escape (value) +

    ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +

    ((path == null) ? "" : ("; path=" + path)) +

    ((domain == null) ? "" : ("; domain=" + domain)) +

    ((secure == true) ? "; secure" : "");

}


function DeleteCookie(name) {

  var exp = new Date();

  FixCookieDate (exp); // Correct for Mac bug

  exp.setTime (exp.getTime() - 1);  // This cookie is history

  var cval = GetCookie (name);

  if (cval != null)

    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}


var cookie_date=new Date(document.lastModified);

var expdate = new Date();

expdate.setTime(expdate.getTime()+(1*5*18*33*1000));


document.write("<font color='lime'>Deze pagina is voor het laatst ge-update op:<P> "+document.lastModified);

document.write("<br>");

if (!(cookie_date == GetCookie("cookie_date"))){

  SetCookie("cookie_date",cookie_date,expdate);
  
document.write("<br>");

  document.write("<font color='Red'>Deze pagina is veranderd sinds je laatste bezoek!</font><br>");

}

// end hide -->

</script>

[ Voor 12% gewijzigd door Verwijderd op 26-08-2005 15:59 ]


  • GlowMouse
  • Registratie: November 2002
  • Niet online
PHP werkt niet goed icm document.lastModified. Maar aangezien je PHP gebruikt, kun je misschien wat doen met getlastmod(). Er is zelfs een tutorial voor.

Verwijderd

Topicstarter
Ik ben er nu even mee aan het expirimenteren maar ik geloof wel dat het lukken gaat zow. ;)

alvast bedankt _/-\o_

Verwijderd

Topicstarter
he mooi man, hij doet het!!!

Alleeen nog 1 vraagje zou ik die maanden ook in het nederlands neer kunnen zetten, het staat nu in het engels namelijk!

  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
PHP:
1
2
3
setlocale (LC_ALL, 'nl_NL');
$datum = strftime ("%A %e %B %Y");
$tijd = date("H:i:s");

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

setlocale.
Soms moet je nog wel de juiste locale gegevens op je webserver (laten) installeren.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Verwijderd

Topicstarter
MOet ik die gegevens dan ook weer oproepen in het last.mod script, want als ik het er gewoon bijplak gebeurt er vrijweinig, en blijft de datum gewoon op engels staan.

ik heb nu dit staan:
PHP:
1
2
3
4
5
6
7
 
<?php
setlocale (LC_ALL, 'nl_NL'); 
$datum = strftime ("%A %e %B %Y"); 
$tijd = date("H:i:s"); 
echo "Last modified: " . date( " l - M d, Y  H:i:s", getlastmod() );
?>

[ Voor 40% gewijzigd door Verwijderd op 26-08-2005 16:46 ]


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Werkt het niet zo toevallig?

PHP:
1
2
3
setlocale(LC_ALL, 'nl_NL'); 
$var = strftime("%A %e %B %Y") . " " .date("H:i:s");
echo "Last modified: " . getlastmod($var);

Verwijderd

Topicstarter
dit krijg ik dan te zien....

Last modified: 1125068326

Verwijderd

Topicstarter
Dit script gebruik ik zelf ook op me site, alleen dan om de huidige datum en tijd weer te geven, zou ik dat niet ook een beetje kunnen gebruiken voor de lay-out die wordt gebruikt voor het weergeven voor de last modified datum.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<b>Het is vandaag:</b> 
    <script type="text/javascript" >
                var d=new Date()
                var weekday=new Array("Zondag -","Maandag -","Dinsdag -","Woensdag -","Donderdag -","Vrijdag -","Zaterdag -")
                var monthname=new Array("Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
                document.write(weekday[d.getDay()] + " ")
                document.write(monthname[d.getMonth()] + " ")
                document.write(d.getDate() + ", ")
                document.write(d.getFullYear() + " - ")
            </script>
    <script type="text/javascript">
                var curDateTime = new Date()
                var curHour = curDateTime.getHours()
                var curMin = curDateTime.getMinutes()
                var curAMPM = " am"
                var curTime = ""
                if (curHour >= 12){
                curHour -= 12
                curAMPM = " pm"
                }
                if (curHour == 0) curHour = 12
                curTime = curHour + ":" 
                + ((curMin < 10) ? "0" : "") + curMin + curAMPM
                document.write(curTime)
            </script> -


dat zier er dus zooo uit: "Het is vandaag: Vrijdag - Aug 26, 2005 - 5:34 pm "
het liefst wil ik die update datum ook zoww hebben dus; "Laaste update gedaan op: Vrijdag - Aug 26, 2005 - 5:34 pm"

[ Voor 24% gewijzigd door Verwijderd op 26-08-2005 17:35 ]


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Kun je de getlastmod() functie even posten? Als die niet 3 a4tjes lang is.

Verwijderd

Topicstarter
Zoww komt die van glowmouse zijn voorbeeld site af


PHP:
1
2
3
<?php
  echo date( "F d Y h:i:s", getlastmod() );
?> 


http://theprojects.org/dev/lastmodified.html

[ Voor 38% gewijzigd door Verwijderd op 26-08-2005 17:38 ]


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Aha, ok. Dat is dus een standaard functie. Wist ik niet :)
Ik gebruik altijd

PHP:
1
date ("d-m-Y", filemtime($fileOrFolderUrl))


maar daarmee is je probleem nog niet opgelost :)

  • Tsunami
  • Registratie: Juni 2002
  • Niet online
even op www.php.net/strftime kijken wat de vervangende waarden zijn van de date-functie, en dan gewoon zo erin gooien:

PHP:
1
2
setlocale(LC_ALL, "nl_NL");  
echo "Last modified: " . strftime("%A %e %B %Y %H:%M:%S", getlastmod());


zo uit mn hoofd, maar met een beetje research op bovenstaande site moet het wel te vinden zijn lijkt me.

[ Voor 14% gewijzigd door Tsunami op 26-08-2005 20:35 ]


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
PHP:
1
2
setlocale(LC_ALL, 'nl_NL');
echo strftime ("%A %e %B %Y", filemtime("bestand.php"));


hoppa :D

Verwijderd

Topicstarter
jaah mooi, ze doen het allemaal, het enige probleem is nog steeds, hoe krijg ik het in het nederlands, hij blijft maar saturday zeggen in plaats van zaterdag. Geen id hoe ik dit nu op moet lossen

Last modified: Saturday 27 August 2005 12:33:23 8)7 8)7 8)7 8)7 8)7 8)7


Ik heb het ook nog even zoww geprobeerd:
PHP:
1
2
3
4
<? 
setlocale(LC_ALL, "dutch");   
echo "Last modified: " . strftime("%A %e %B %Y %H:%M:%S", getlastmod()); 
?>


Maar ook dat werkt niet

[ Voor 27% gewijzigd door Verwijderd op 27-08-2005 12:45 ]


Verwijderd

Topicstarter
Ik lees net ook dat je ook deze stamps kan gebruiken:
  • nl_BE
  • nl_BE@euro
  • nl_BE.iso88591
  • nl_BE.iso885915@euro
  • nl_BE.utf8
  • nl_BE.utf8@euro
  • nl_NL
  • nl_NL@euro
  • nl_NL.iso88591
  • nl_NL.iso885915@euro
  • nl_NL.utf8
  • nl_NL.utf8@euro
ik heb het hier gelezen: http://www.sin.khk.be/forum/viewtopic.php?pid=358

[ Voor 36% gewijzigd door Verwijderd op 27-08-2005 13:15 ]


  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Op mijn eigen windows server (met Apache en PHP) lukt het niet om het in NL te krijgen. Op mijn gehuurde hosting werkt het wel. Is dus server afhankelijk, al denk ik niet dat het met Windows of Linux te maken heeft, maar met de PHP/Apache configuratie.

Verwijderd

Topicstarter
Dus waarschijnliijk ligt het gewoon aan deserver waarop me site draait, zie hier de http://www.trutfotos.nl/info.phplink naar de php info pagina

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
Bram77 schreef op zaterdag 27 augustus 2005 @ 13:18:
Op mijn eigen windows server (met Apache en PHP) lukt het niet om het in NL te krijgen.
Onder windows 2000 wil dit nog wel eens werken:
PHP:
1
setlocale(LC_TIME, 'nl_NL', 'dutch');

  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Inderdaad :) Nu werkt het op allebij de machines.
Pagina: 1