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

【PHP8.x】getCTimeメソッドの使い方

getCTimeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getCTimeメソッドは、PHP 8で提供されるRecursiveDirectoryIteratorクラスに属し、現在イテレートしているディレクトリまたはファイルのエントリに関するinode変更時刻を取得するメソッドです。このメソッドは、ファイルシステム上のファイルやディレクトリのメタデータが最後に変更された時刻を、Unixタイムスタンプ形式の整数値で返します。

inode変更時刻(ctime)とは、ファイルのデータ内容そのものの更新だけでなく、ファイルの所有者、グループ、パーミッションといったメタ情報が変更された際に更新される時刻を指します。これは、ファイルのデータ内容が最後に更新された時刻である最終更新時刻(mtime)とは異なる点にご注意ください。例えば、ファイルのパーミッションやアクセス権を変更した場合、mtimeは更新されませんが、ctimeは更新されます。

このメソッドを使用することで、ファイルやディレクトリの構造的な変更やアクセス権の変更履歴を追跡したい場合に特に役立ちます。ファイルのメタデータの変更を監視するシナリオや、セキュリティ監査の目的でファイルシステムの変更を記録したい場合などに活用できます。戻り値は成功するとUnixタイムスタンプを返し、失敗した場合にはfalseを返すことがあります。ファイルシステムの正確な変更履歴を把握するために重要な情報を提供するメソッドです。

構文(syntax)

1<?php
2$directoryIterator = new RecursiveDirectoryIterator(__DIR__);
3$cTime = $directoryIterator->getCTime();
4?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int|false

このメソッドは、エントリの変更時刻(ctime)を整数または false で返します。