【PHP8.x】filectime関数の使い方
作成日: 更新日:
『filectime関数は、指定されたファイルのinode変更時刻を取得する関数です』
ctimeはしばしば「creation time(作成時刻)」と誤解されがちですが、正しくは「change time(変更時刻)」を指します。inodeとは、ファイルやディレクトリの所有者、パーミッション、サイズ、最終アクセス時刻といったメタデータを管理するための情報です。filectime関数が返すのは、このinode情報が最後に変更された時刻のことであり、ファイルの内容が変更された場合だけでなく、パーミッションや所有者が変更された際にも更新されます。この関数は、引数に調査したいファイルのパスを文字列で指定します。成功した場合は、そのファイルのinode変更時刻をUNIXタイムスタンプ形式の整数値で返します。UNIXタイムスタンプとは、1970年1月1日からの経過秒数を表す数値です。ファイルの取得に失敗した場合は false
を返します。ただし、動作はオペレーティングシステムによって異なり、多くのUNIX系システムではinode変更時刻を返しますが、Windows環境ではファイルの作成時刻を返します。また、PHPはファイルのステータス情報をキャッシュするため、ループ内で同一ファイルの情報を繰り返し取得する際は、clearstatcache()
関数でキャッシュをクリアしないと古い情報が返され続ける可能性がある点に注意が必要です。
基本的な使い方
構文(syntax)
filectime(string $filename): int|false
引数(parameters)
string $filename
- string $filename: タイムスタンプを取得するファイルのパスを指定する文字列
戻り値(return)
int|false
指定されたファイルパスのファイルの最終変更時刻(Unixタイムスタンプ)を整数で返します。ファイルが存在しない、またはアクセス権がない場合は false
を返します。