clearstatcache
(PHP 4, PHP 5, PHP 7, PHP 8)
clearstatcache — ファイルのステータスのキャッシュをクリアする
説明
PHP は存在しないファイルについての情報はキャッシュしないことにも
注意してください。もし存在しないファイルに対して
file_exists() をコールする場合、ファイルを作成するまで
この関数は false を返します。もしファイルを作成した場合、
たとえファイルを削除したとしても true を返します。
しかし、unlink() はキャッシュを自動的にクリアします。
注意:
この関数は特定のファイルに関する情報をキャッシュします。したがって、
同じファイルについて複数回の操作を行いそのファイルに関する情報を
キャッシュされないようにするためには、
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().
パラメータ
clear_realpath_cache
-
realpath キャッシュもクリアするかどうか。
filename
-
realpath キャッシュを特定のファイル名だけに対してクリアする。
clear_realpath_cache が true
の場合にのみ使用。
例
例1 clearstatcache() の例
<?php
$file = 'output_log.txt';
function get_owner($file)
{
$stat = stat($file);
$user = posix_getpwuid($stat['uid']);
return $user['name'];
}
$format = "UID @ %s: %s\n";
printf($format, date('r'), get_owner($file));
chown($file, '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