【PHP8.x】GlobIterator::getMTime()メソッドの使い方
getMTimeメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
getMTimeメソッドは、GlobIteratorクラスに属し、現在のイテレータが指すファイルまたはディレクトリの最終変更時刻を取得するために使用されるメソッドです。
GlobIteratorクラスは、*.phpのような指定されたパターン(globパターン)に一致するファイルやディレクトリを順に処理する際に利用されます。このgetMTimeメソッドは、そのイテレータが現在指しているファイルやディレクトリが、いつ最後に内容が変更されたかを知りたい場合に役立ちます。
メソッドが返す値は整数値で、ファイルの最終変更時刻をUnixタイムスタンプ形式で表します。Unixタイムスタンプとは、1970年1月1日00:00:00 UTC(協定世界時)からの経過秒数を意味するもので、この数値を利用することで、日付や時刻の比較、他の日時形式への変換などをプログラミング上で容易に行うことができます。
ファイルの変更時刻の取得に失敗した場合、例えばファイルが存在しない、またはアクセス権がないなどの理由がある場合は、このメソッドはfalseを返します。そのため、メソッドの戻り値を常に確認し、falseが返された場合には適切なエラー処理を行うことが重要です。
この機能は、ファイルが更新されたかどうかをチェックして、キャッシュを再生成したり、古いファイルを検出して削除したりするなど、ファイル管理に関する多様な処理において活用することができます。
構文(syntax)
1<?php 2 3$iterator = new GlobIterator(__DIR__ . '/*'); 4 5if ($iterator->valid()) { 6 $timestamp = $iterator->getMTime(); 7}
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
GlobIterator::getMTimeメソッドは、SplFileInfo::getMTime()と同様に、ファイルが最後に変更された時刻をUNIXタイムスタンプ(整数値)で返します。