Hàm clearstatcache() trong PHP - PHP Function
Code $file = 'output_log.txt'; function get_owner($file) { $stat = stat($file); $user = posix_getpwuid($stat['uid']); return $user['name']; } $format = "UID @ %s: %s "; printf($format, date('r'), get_owner($file)); chown($file, 'ross'); printf($fo ...
Hàm clearstatcache()
sẽ xóa bộ nhớ cache về tình trạng file.
Vậy bộ nhớ cache về tình trạng file là gì ?
Khi bạn sử dụng một trong số các hàm sau: stat()
, lstat()
, file_exists()
, is_writable()
, is_readable()
, is_executable()
, is_file()
, is_dir()
, is_link()
, filectime()
, fileatime()
, filemtime()
, fileinode()
, filegroup()
, fileowner()
, filesize()
, filetype()
, and fileperms()
. PHP sẽ lưu trữ thông tin trả về của các hàm đó vào bộ nhớ tạm để việc thực hiện các lần sau nhanh hơn( tương tự với cache của trình duyệt). Khi muốn xóa các thông tin đã được lưu trữ đó, ta sử dụng hàm clearstatcache()
.
Cú pháp
Cú pháp: clearstatcache( $clear_realpath_cache, $filename);
Trong đó:
$clear_realpath_cache
là tham số không bắt buộc quy định có nên xóa bộ nhớ của file cụ thể hay không. True nghĩa là có, False là không.$filename
chỉ sử dụng khi$clear_realpath_cache
mang giá trị True, đường dẫn tới file cần xóa bỏ cache.
Kết quả trả về
Hàm không có kết quả trả về.
Ví dụ
Đây là ví dụ mình lấy từ trang chủ php.net:
$file = 'output_log.txt'; function get_owner($file) { $stat = stat($file); $user = posix_getpwuid($stat['uid']); return $user['name']; } $format = "UID @ %s: %s "; 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
Tham khảo: php.net
Nguồn: Zaidap.com.net