PHPプログラミング

最終更新日:
公開日:

レシピ

ファイル / ディレクトリ

ファイル/ディレクトリを最後に更新した時刻を取得する

filemtime関数を使って、ファイル / ディレクトリの最終更新日時を取得する方法について解説します。

この記事のポイント

  • filemtime関数でファイルの最終更新日時を取得する
  • ディレクトリは内部のファイルが更新された日時を取得する

目次

ファイル/ディレクトリの最後に更新した時刻を取得する

filemtime関数にファイル、またはディレクトリのパスを渡すと、最後に更新された時刻を取得することができます。

コード例

filemtime("./memo.txt");

返り値は時刻をタイムスタンプ形式で返し、該当するファイルが無いなどの理由で時刻の取得に失敗した場合はfalseを返します。
引数にディレクトリのパスを渡した場合については、ディレクトリ内にファイルを作成、更新、削除など操作した日時をディレクトリの更新日時として取得することができます。

こちらの関数はファイルのパーミッションには影響されないため、読み取り権限などがないファイルについても日時を取得することが可能です。

ファイル / ディレクトリの更新時間ではなく、最後にアクセスされた時刻を取得したい場合はfileatime関数を使用することができます。
詳しくは「ファイルへ最後にアクセスした時刻を取得する」をご覧ください。

Note

ファイルが作成された時刻を取得する関数はありません。
もし作成日時の情報が必要となる場合は、データベースに保存するか、ファイル内部に書き込むなどの方法で作成時刻を保存しておく必要があります。

使用例

ファイルの更新日時を取得し、date関数で時刻フォーマットを整えて出力する例です。

コード例

// ファイル・ディレクトリへのパス
$path1 = './test/index.html';

// タイムゾーンを設定
date_default_timezone_set('Asia/Tokyo');

// ファイルの最終更新日時を取得し、date関数で時刻を整えて出力する
echo date( "Y-m-d H:i:s", filemtime($path1)); // 2018-12-13 15:48:11

filemtime関数から取得した更新日時のタイムスタンプを、date関数で「Y-m-d H:i:s」の時刻フォーマットの形に整えて出力しています。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。