Hàm clearstatcache

Hàm clearstatcache xóa bộ nhớ cache lưu trữ thông tin về trạng thái của các tệp. PHP lưu vào cache kết quả của các hàm làm việc với tệp, chẳng hạn như filesize, filemtime và các hàm khác. Hàm này hữu ích khi bạn cần lấy dữ liệu chính xác về một tệp có thể đã bị thay đổi trong khi thực thi script.

Cú pháp

phpclearstatcache([bool $clear_realpath_cache = false], [string $filename = null]);

Ví dụ

Ví dụ đơn giản nhất về cách sử dụng hàm mà không có tham số:

php<?php
  clearstatcache();
  echo 'Đã xóa cache tệp';
?>

Kết quả thực thi mã:

php'Đã xóa cache tệp'

Ví dụ

Ví dụ về việc xóa cache cho một tệp cụ thể:

php<?php
  $file = 'test.txt';
  clearstatcache(true, $file);
  echo 'Đã xóa cache cho tệp: ' . $file;
?>

Kết quả thực thi mã:

php'Đã xóa cache cho tệp: test.txt'

Ví dụ

Ví dụ thực tế về việc lấy kích thước tệp:

php<?php
  $file = 'data.txt';
  
  // Lấy kích thước lần đầu
  $size1 = filesize($file);
  
  // Thay đổi tệp (trong mã thực tế, tệp có thể đã bị thay đổi bởi một tiến trình khác)
  file_put_contents($file, 'nội dung mới', FILE_APPEND);
  
  // Lấy kích thước lần thứ hai mà không xóa cache
  $size2 = filesize($file);
  
  // Xóa cache và lấy kích thước chính xác
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Kết quả thực thi mã:

php'Size1: 10, Size2: 10, Size3: 20'

Xem thêm

  • hàm file_exists,
    hàm kiểm tra sự tồn tại của tệp
  • hàm filesize,
    hàm trả về kích thước tệp
  • hàm filemtime,
    hàm trả về thời gian sửa đổi