【PHP8.x】getCTimeメソッドの使い方
getCTimeメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
getCTimeメソッドは、ファイルシステム上を特定のパターンで反復処理を行うGlobIteratorクラスに属し、現在イテレータが指しているファイルのiノード最終変更時刻を取得するメソッドです。iノードとは、ファイルの内容や場所を示すデータブロックとは別に、ファイルのタイプ、パーミッション、所有者、最終更新日時などのメタ情報を記録している重要なデータ構造のことです。
このメソッドが取得する「iノード最終変更時刻 (ctime)」は、ファイルの内容そのものが変更された時刻(mtime: 最終更新時刻)とは異なります。具体的には、ファイルのパーミッション、所有者、またはファイル名などのメタデータが変更された場合に更新される時刻を指します。ファイルの内容変更だけでなく、ファイルの属性に関する変更履歴を追跡したい場合にgetCTimeは非常に役立ちます。
このメソッドは、指定されたファイルのiノード最終変更時刻をUnixタイムスタンプ(1970年1月1日00:00:00 UTCからの経過秒数を示す整数値)として返します。もしファイルの情報の取得に失敗した場合や、ファイルが存在しない場合はfalseを返すことがあります。取得したタイムスタンプは、PHPのdate()関数などと組み合わせて、人間が読みやすい形式の日時文字列に変換できます。システムの状態監視、セキュリティ監査、ファイルのライフサイクル管理など、多岐にわたる場面で、ファイルのメタデータ変更履歴を把握するために利用できます。
構文(syntax)
1<?php 2$globIterator = new GlobIterator(__DIR__ . '/*.php'); 3if ($globIterator->valid()) { 4 $creationTime = $globIterator->getCTime(); 5}
引数(parameters)
引数なし
引数はありません
戻り値(return)
int|false
GlobIterator::getCTime() は、ファイルが最後に変更された時刻を Unix タイムスタンプ(秒単位)で返します。エラーが発生した場合は false を返します。