Les fonctions time()
demandent réellement l'horloge système pour l'heure, vous devez donc mettre à jour l'heure de l'horloge système du serveur. Quelques points à garder à l'esprit:
- Ceci est fait différemment sur un serveur Unix qu'un serveur Windows. Si vous voulez un code compatible avec les deux, vous devez être prudent
- Parfois (en particulier dans les situations d'hébergement mutualisé), vous n'êtes pas autorisé à changer l'heure du système
- Modifications à l'heure du système resteront après le script a exécuté à moins que vous le changer plus tard. Par conséquent, vous risquez vraiment de bousiller l'horloge du système.
Si vous voulez changer l'heure dans le monde pour une application entière, je recommande d'avoir une variable statique $timeOffset
et créez votre propre fonction time()
comme suit:
function myTime(){
global $timeOffset;
return time()+$timeOffset;
}
Si vous avez pris tout cela en compte et que vous voulez encore changer l'heure du système, cependant, vous devez envoyer une commande au shell en utilisant shell_exec()
Dans Windows, le code ressemblerait à ceci:
shell_exec("date 09-09-99"); // Use "date mm-dd-yy" or "time hh:mm:ss", respectively
Dans UNIX, selon la page de manuel date
, le code ressemblerait à ceci:
shell_exec("date 0909hhmm1999"); // It says "date MMDDhhmiYYYY". I'm not sure how to set seconds, although I assume "mi" = "minutes"
Il est parfois nécessaire d'effectuer des mises à jour massives de projets entiers. C'est pourquoi ils ont inventé des systèmes de contrôle de révision. Il est également possible de créer un script qui recherche dans chaque fichier le texte "time()" et le remplace par "myTime()". C'est assez simple en utilisant 'file_get_contents()', 'str_replace()', et 'file_put_contents()'. – stevendesu