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

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

作成日: 更新日:

基本的な使い方

getATimeメソッドは、PHPのDirectoryIteratorオブジェクトが現在指しているファイルまたはディレクトリの最終アクセス時刻を取得するメソッドです。このメソッドは、指定されたファイルやディレクトリが最後に読み込まれたり、実行されたりした時刻を、UNIXタイムスタンプ形式の整数値として返します。UNIXタイムスタンプとは、1970年1月1日00:00:00 UTCからの経過秒数を表す数値です。

システムエンジニアを目指す方にとって、ファイルシステム内の情報を正確に把握することは重要なスキルの一つです。例えば、あるファイルがいつ最後に開かれたかを確認したい場合や、長期間アクセスされていないファイルを特定して整理する際などに、このgetATimeメソッドは非常に役立ちます。

取得したUNIXタイムスタンプは、そのままでは人間が読みやすい形式ではないため、通常はPHPのdate()関数などと組み合わせて、日付や時刻の文字列に変換して利用します。例えば、「2023年10月27日 15時30分」といった具体的な表示形式に整形できます。

ただし、ファイルシステムの特性や設定によっては、アクセス時刻が正確に記録されない場合がある点に留意する必要があります。特に、パフォーマンス向上のためにファイルシステムの最終アクセス時刻の更新を無効にしている環境では、常に最新の情報が反映されるとは限りません。

構文(syntax)

1<?php
2$iterator = new DirectoryIterator(__DIR__);
3foreach ($iterator as $fileinfo) {
4    // $fileinfo は、DirectoryIterator 内の個々のファイルまたはディレクトリを表すオブジェクトです。
5    $accessTime = $fileinfo->getATime();
6    // $accessTime には、最終アクセス時刻のUNIXタイムスタンプ (int) または失敗時に false が格納されます。
7}
8?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int|false

このメソッドは、ファイルまたはディレクトリの最終アクセス時刻をUNIXタイムスタンプ形式の整数で返します。アクセス時刻の取得に失敗した場合はfalseを返します。

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