ホームページ  >  記事  >  バックエンド開発  >  php clearstatcache - ファイルステータスキャッシュをクリアする_PHPチュートリアル

php clearstatcache - ファイルステータスキャッシュをクリアする_PHPチュートリアル

不言
不言オリジナル
2018-05-23 16:56:221881ブラウズ

php について clearstatcache - ファイルステータスキャッシュをクリアします。具体的な例を挙げて、以下に 1 つずつ説明します。

clearstatcache
(PHP 4, PHP 5)
clearstatcache - ファイルステータスキャッシュのクリア
説明
void clearstatcache ([boolean $clear_realpath_cache = false[, string $filename]])
stats()、lstat()、または、影響を受ける関数リスト (下記) にリストされているその他の関数がある場合、PHP はこれらの関数のキャッシュ情報を復元して、より高速なパフォーマンスを提供します。ただし、場合によっては、キャッシュされた情報をクリアする必要がある場合があります。たとえば、スクリプト内で同じファイルが複数回チェックされており、スクリプトの実行中にファイルが危険なほど削除または変更された場合、キャッシュ ステータスをクリアすることを選択できます。この場合、clearstatcache() 関数を使用して、PHP キャッシュ ファイルに関する明確な情報を取得できます。
PHP は存在しないファイルの情報をキャッシュしないことにも注意してください。したがって、存在しないファイルに対して file_exists() を要求すると、ファイルを作成するまで FALSE が返されます。ファイルを作成した場合は、その後ファイルを削除しても元に戻ります。ただし、disconnect() はキャッシュを自動的にクリアします。
注: この関数は特定のファイル名の情報をキャッシュするため、同じファイル名に対して複数の操作を処理し、その特定のファイルをキャッシュしないことが必要な場合にのみ、clearstatcache() を呼び出す必要があります。
影響を受ける関数には、statistics()、lstat()、file_exists()、is_writable()、is_readable()、is_executable()、is_file()、is_dir()、is_link()、filectime()、fileatime()、filemtime( )、fileinode()、filegroup()、fileowner()、filesize()、filetype()、および fileperms()。
パラメータ
clear_realpath_cache
キャッシュをクリアするか、realpath をクリアしない場合 (デフォルトは false)。
ファイル名
realpath キャッシュの特定のファイル名をクリアします。これは、clear_realpath_cache のみが使用されている場合に当てはまります。
戻り値
値なしで返します。
バージョンノート
5.3.0 でオプションの clear_realpath_cache およびファイル名パラメータが変更されました。

例 #1 clearstatcache()

$file = 'output_log.txt';
function get_owner($file)
{
    $stat = stat($file);
    $user = posix_getpwuid($stat['uid']);
    return $user['name'];
}
$format = "UID @ %s: %sn";
printf($format, date('r'), get_owner($file));
chown($path, 'ross');
printf($format, date('r'), get_owner($file));
clearstatcache();
printf($format, date('r'), get_owner($file));
?>

出力

UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。