プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
PHP、ファイルの更新日時を取得&表示する
結論から書けば

filemtime(ファイル名)

を使って

print date("Y/m/d H:i:s", filemtime('hoge.php'));

とかすればOKです。

それでは見ていきます。

そもそものきっかけは投稿日(--)b
とあるWebサービスで投稿日を表示しようと思ったのですが、
いかんせん、そんなもん記録に残していなくてですね。
仕方ないのでファイルのタイプスタンプから判断すっか、と考えたのがきっかけです。

ほんで、どうやれば良いの(--?

ふむふむ(--)

こんなんでOKでしたφ(--)

■hoge.php
<?php

    $t = filemtime(dirname(__FILE__) . '/hoge.html');

    print "更新日時:".date("Y/m/d H:i:s", $t);
?>

「hoge.html」の更新日時を取得して表示……って、見れば分かりますね。

ちなみに、自ファイルの最終更新日時を取得する場合はもっと簡単です。
例えば、こんなんでOKφ(--)

<?php print "更新日時:".date("Y/m/d H:i:s", filemtime(__FILE__)); ?>

「__FILE__」が自ファイルのパスとファイル名を表す定数なので、
そいつの更新日時を取得&表示しているだけです。

「__FILE__」はあくまでその記述があるファイルなのでご注意ください。
使い回しをしようとして、こんな風に分割しまうとφ(--)

■hoge2.php
<?php
    include("inc.php");
?>

■inc.php
<?php
    print "更新日時:".date("Y/m/d H:i:s", filemtime(__FILE__));
?>

期待通りの結果にはならないかもしれません。
この例では「hoge2.php」の更新日時ではなく「inc.php」の更新日時が表示されてしまいます。
「__FILE__」はあくまで自ファイル名を返すのでご注意くださいね。
ファイルが変われば、当然「__FILE__」の中身も変わります。

最後にもう一度まとめると、ファイルの更新日時は「filemtime()」で取得できます。
自ファイルの更新日時を取得したい場合は「filemtime(__FILE__)」と横着できます。
ただし「filemtime(__FILE__)」は「その記述があるファイル」の更新日時を取得です。
該当の箇所を別ファイルに分割する場合はご注意ください。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● PHP  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事