Je veux mettre un avis de droit d'auteur dans le pied de page d'un site web, mais je pense que c'est incroyablement de mauvais goût que l'année soit dépassée.
Comment faire pour que l'année soit mise à jour automatiquement avec PHP 4 o PHP 5 ?
Vous pouvez utiliser soit date o strftime . Dans ce cas, je dirais que cela n'a pas d'importance puisqu'une année est une année, quoi qu'il en soit (à moins qu'il y ait une localité qui présente l'année différemment ?)
Par exemple :
<?php echo date("Y"); ?>
Par ailleurs, lorsque vous formatez des dates en PHP, il est important de savoir si vous souhaitez les formater dans une autre locale que celle utilisée par défaut. Si c'est le cas, vous devez utiliser setlocale et strftime. Selon le manuel php à la date prévue :
Pour formater les dates dans d'autres langues, vous devez utiliser les fonctions setlocale() et strftime() au lieu de date().
De ce point de vue, je pense qu'il serait préférable d'utiliser strftime autant que possible, si vous avez la moindre possibilité de devoir localiser votre application. Si ce n'est pas un problème, choisissez celui que vous préférez.
@ErikvanBrakel juste à titre d'information, l'année en cours en Thaïlande est 2556. Je ne sais pas si les paramètres locaux de PHP prennent cela en compte mais dans un monde parfait, cela devrait :)
Les balises courtes ne sont pas prises en charge par tous les serveurs et il y a aussi ceci : programmateurs.stackexchange.com/questions/151661/
En PHP 5.4, vous pouvez utiliser librement les balises echo courtes comme celle ci-dessus. Elles sont beaucoup plus jolies dans les vues, à mon avis.
Ma version super paresseuse de l'affichage d'une ligne de copyright, qui reste automatiquement mise à jour :
© <?php
$copyYear = 2008;
$curYear = date('Y');
echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
?> Me, Inc.
Cette année (2008), il sera dit :
2008 Me, Inc.
L'année prochaine, elle dira :
© 2008-2009 Me, Inc.
et rester toujours à jour avec l'année en cours.
Ou (PHP 5.3.0+) une manière compacte de le faire en utilisant une fonction anonyme afin d'éviter les fuites de variables et la répétition de code/constantes :
©
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?>
Me, Inc.
Avec PHP se dirigeant vers une direction plus orientée objet, je suis surpris que personne ici n'ait fait référence à l'outil intégré DateTime
classe :
$now = new DateTime();
$year = $now->format("Y");
ou one-liner avec accès aux membres de la classe lors de l'instanciation (php>=5.4) :
$year = (new DateTime)->format("Y");
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
715 votes
echo date("Y");
2 votes
J'ai reçu un avertissement en utilisant ça. J'ai ajouté date_default_timezone_set('UTC') ; pour éviter d'avoir l'avertissement. ('UTC+1' ne fonctionne pas... je ne peux pas vous en dire plus car je débute avec PHP). Il y a probablement un moyen de configurer PHP pour éviter les avertissements (dans un fichier de configuration comme php.ini).
5 votes
@justin Cela signifie que vous n'avez pas défini le fuseau horaire par défaut et PHP n'aime pas cela. Vous pouvez soit définir le fuseau horaire par défaut dans le fichier
php.ini
avec quelque chose commedate.timezone = "America/Los_Angeles"
ou vous pouvez le définir au début de votre code avec quelque chose commedate_default_timezone_set( "America/Los_Angeles" )
.0 votes
Merci Josh. J'avais adopté la deuxième approche parce que c'est la solution que j'avais trouvée en premier. Il est bon de savoir ce qu'il faut définir dans le php.ini pour que cela soit effectif dans tous les scripts.
9 votes
REMARQUE : L'année indiquée dans une notice de droit d'auteur n'a pas vraiment de valeur juridique, mais elle est généralement ajoutée pour aider les personnes qui veulent savoir si le droit d'auteur est toujours applicable. En tant que telle, elle est censée être l'année de publication de l'œuvre. Utiliser l'année en cours n'a vraiment aucun sens... Cependant, je l'ai vu faire d'innombrables fois.
0 votes
C'est la meilleure solution et je pense que les frameworks comme drupal et wordpress devraient adopter cette approche.
0 votes
@StijndeWitt l'a cloué. Pour mémoire, l'année de copyright est la date à laquelle il a été publié, et n'a pas vraiment de valeur réelle. Cela dit, j'ai accidentellement rencontré ce problème parce que je faisais exactement la même chose B-)
0 votes
@Stijn de Witt Bien que techniquement vrai, une notice de copyright arrêt complet n'a pas de but réel, le droit d'auteur est automatique, vous n'avez pas besoin de l'annoncer. Et comme la plupart des sites Web ont une partie dynamique, l'année de publication change régulièrement (du moins si l'on tient compte des révisions). Il est donc parfaitement judicieux que l'année indiquée dans le pied de page reflète l'année en cours, car c'est un bon indicateur de l'actualité du contenu. De manière informelle, c'est à peu près tout ce à quoi il sert, pour dire "Ce site Web est toujours d'actualité".
0 votes
@NathanHornby Je sais que c'est automatique. Donc l'avis n'a pas de réelle valeur juridique et est juste informatif. Par conséquent, mettre toujours l'année en cours est mauvais en l'état. désinformateur cela ne vous dit absolument rien. En outre, le droit d'auteur ne s'applique pas automatiquement à tout le contenu du site web. Au contraire, il s'applique à chaque publication séparée à partir du moment où elle a été publiée. Ce que je veux dire : Mettez la date de publication à cet endroit, ou ne la mettez pas du tout. Ne pas script la date du jour.
8 votes
Je dirais personnellement que c'est devenu une convention du web, donc bien que vous ayez techniquement raison, ce n'est pas ce que les gens attendent. Le fait est que, même si le fait d'avoir, par exemple, "Copyright 2007, tous droits réservés" inscrit en bas de page d'un article écrit en 2007 est techniquement correct, les visiteurs du site risquent de penser que le site a été abandonné. Même les grandes entreprises dotées d'équipes d'avocats continuent d'indiquer l'année en cours sur leurs pages Web, même si c'est "2007-2015".
0 votes
Peut-être croient-ils que le fait de changer la date remet l'horloge à zéro et qu'ils rééditent effectivement l'œuvre chaque jour.