clearstatcache() trong php

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ápclearstatcache( $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:

Code
$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));

Kết quả
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

Các loại function khác

Nguồn: freetuts.net