PHP | filemtime()でファイルの更新時間を取得する方法

PHP ファイル・ディレクトリ,PHP

PHP | filemtime()でファイルの更新時間を取得する方法

PHPのfilemtime()でファイルの更新時間を取得する方法の紹介です。

filemtime()でファイルの更新時間を取得する

PHPのfilemtime()はサーバー内にあるファイルの更新時間を取得します。

返り値はUnixタイムスタンプで、取得に失敗した場合はFALSEを返します。

filemtime(ファイル名)

サンプルコード

シンプルにfilemtime()を実行した場合のサンプルコードです。

echo filemtime(test.txt);

//1592757093
$file = 'test.txt';
if (file_exists($file)){
	echo filemtime($file);
}else{
	echo '更新時間の取得に失敗しました';
}

//1592757093

ファイルが見つからなかった場合など取得に失敗した場合に、FALSEが返されるのでエラーは表示されませんが、ファイルの存在チェックも実行した場合は上記のコードとなります。

$file = 'test.txt';
if (file_exists($file)){
	echo date("Y/m/d H:i:s", filemtime($file));
}else{
	echo '更新時間の取得に失敗しました';
}

//2020/06/22 01:31:17

返り値はUnixタイムスタンプとなっていますので、上記ではdate()で変換して見やすくしています。

filemtime()で取得する更新時間の更新タイミング

filemtime()で取得する更新時間とはどのタイミングで更新されているのか、または更新されないパターンの確認メモです。

更新されるタイミング

  • ファイルを作成した時
  • ファイルの内容を変更した時
  • 同じ内容でも保存を実行した時

更新されないパターン

  • ファイル名を変更した時(リネーム)
  • ファイルを移動した時