問題描述:需要生成一個 700k 大小左右的文件,相關代碼如下:
}fwrite($handle, "\n");$result = filesize('./split.log');echo $result,"\n";sleep(2);
}fclose($handle);?>
但是發現文件的大小一直不變,輸出如下:
問題原因:
PHP 將緩存下面這些函數的返回信息以提供更快的性能。然而在某些情況下,你可能想清除被緩存的信息。例如如果在一個腳本中多次檢查同一個文件,而該文件在此腳本執行期間有被刪除或修改的危險時,你需要清除文件狀態緩存。這種情況下,可以用 clearstatcache() 函數來清除被 PHP 緩存的該文件信息。
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 官方文檔對於 clearstatcache() 方法的說明,鏈接為:http://www.php.net/manual/zh/function.clearstatcache.php