PHP clearstatcache() 函數

定義和用法
clearstatcache() 函數清除檔狀態緩存。
PHP 會緩存某些函數的返回資訊,以便提供更高的性能。但是有時候,比如在一個腳本中多次檢查同一個檔,而該檔在此腳本執行期間有被刪除或修改的危險時,你需要清除檔狀態緩存,以便獲得正確的結果。要做到這一點,請使用 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()
實例
<?php
//check filesize
echo filesize("test.txt");
echo "<br />";
$file = fopen("test.txt", "a+");
// truncate file
ftruncate($file,100);
fclose($file);
//Clear cache and check filesize again
clearstatcache();
echo filesize("test.txt");
?>
//check filesize
echo filesize("test.txt");
echo "<br />";
$file = fopen("test.txt", "a+");
// truncate file
ftruncate($file,100);
fclose($file);
//Clear cache and check filesize again
clearstatcache();
echo filesize("test.txt");
?>
上面的代碼將輸出:
792
100
100
