ウェブ家の備忘録

ウェブデザイナーの備忘録

PHPでCopyright(年)を自動更新。あとJavaScript

■出力 Copyright 20XX ●株式会社
PHP
Copyright <?php echo date("Y"); ?> ●株式会社
JavaScript
Copyright <script>document.write(new Date().getFullYear());</script> ●株式会社

 

■出力 © 2010-20XX, ●Company.
PHP
・可読コード
<?php 
  $fromY = 2010;
  $comp  = '●Company.';

  $thisY = (int)date('Y'); 
  echo '&copy;' . $fromY . (($fromY != $thisY) ? '-' . $thisY : '') . $comp;
?>

・組み込み
<?php 
/* ▼▼▼©▼▼▼ */
  $fromY = 2010; $comp  = '●Company.';
  $thisY = (int)date('Y'); echo '&copy;' . $fromY . (($fromY != $thisY) ? '-' . $thisY : '') . $comp;
/* ▲▲▲©▲▲▲ */
?>
JavaScript
・可読コード
<script>(function(){
  let from = 2010;
  let comp = "●Company";
  
  let gfy = new Date().getFullYear();
  let output = "&copy;" + from;
  if(from<gfy){output += "-" + gfy;}
  output += ", " + comp + ".";
  document.write(output);
}());</script>

・組み込み
<!-- ▼▼▼©▼▼▼ --->
  <script>(function(){let from=2010, comp="●Company";
  let gfy=new Date().getFullYear(),output="&copy;"+from;if(from<gfy){output+="-"+gfy;}output+=", "+comp+".";document.write(output);}());</script>
<!-- ▲▲▲©▲▲▲ --->

■留意点、PHPJavaScriptの違い
 基本的にはPHPでやった方がいいです。

 PHPはサーバーサイドスクリプトなので上記ではサーバーに設定された年を出力しますのでほぼ正確です。
 JSはクライアントサイドスクリプトなので上記では使用端末に設定された年を出力します。使用端末の設定時刻が余程狂っていたら上記ではおかしな年が出力されます。

 上記コードを使用する際はPHPの方が望ましいですが、PHPなどサーバーサイドの言語が使えない環境では応急処置でJSを使うと良いかもしれません。ただ、JSで組んでるのを忘れてそのデータをサーバーに組み込むのはまずいので、JSのコードを組み込む際はコメントでアンカーした方がいいかもしれません。