Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【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 を返します。

関連コンテンツ

【PHP8.x】getCTimeメソッドの使い方 | いっしー@Webエンジニア