PHP clearstatcache() 関数

定義と使用法

clearstatcache() 関数はファイルの状態キャッシュをクリアします。

clearstatcache() 関数は、より高いパフォーマンスを提供するために特定の関数の返り値をキャッシュします。しかし、例えば、スクリプトの実行中にファイルが削除されたり変更されたりする可能性がある場合など、スクリプト内で同じファイルを複数回チェックするような場合には、ファイルの状態キャッシュをクリアして正確な結果を得るために必要です。これを行うために clearstatcache() 関数を使用する必要があります。

キャッシュされる関数、つまり clearstatcache() 関数に影響を受ける関数:

  • stat()
  • lstat()
  • file_exists()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • filectime()
  • fileatime()
  • filemtime()
  • fileinode()
  • filegroup()
  • fileowner()
  • filesize()
  • filetype()
  • fileperms()

文法

clearstatcache()

<?php
//ファイルサイズをチェック
echo filesize("test.txt");
$file = fopen("test.txt", "a+");
//ファイルを切り取る
ftruncate($file,100);
fclose($file);
//キャッシュをクリアし、ファイルサイズを再チェック
clearstatcache();
echo filesize("test.txt");
?>

出力:

792
100