Συνάρτηση clearstatcache
Η συνάρτηση clearstatcache εκκαθαρίζει το cache που αποθηκεύει πληροφορίες σχετικά με την κατάσταση των αρχείων. Η PHP κρυφά αποθηκεύει τα αποτελέσματα των συναρτήσεων εργασίας με αρχεία, όπως οι filesize, filemtime και άλλες. Αυτή η συνάρτηση είναι χρήσιμη όταν χρειάζεται να λάβετε τρέχοντα δεδομένα για ένα αρχείο που ενδέχεται να άλλαξε κατά την εκτέλεση του script.
Σύνταξη
clearstatcache([bool $clear_realpath_cache = false], [string $filename = null]);
Παράδειγμα
Το απλούστερο παράδειγμα χρήσης της συνάρτησης χωρίς παραμέτρους:
<?php
clearstatcache();
echo 'File cache cleared';
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'File cache cleared'
Παράδειγμα
Παράδειγμα με εκκαθάριση cache για συγκεκριμένο αρχείο:
<?php
$file = 'test.txt';
clearstatcache(true, $file);
echo 'Cache cleared for file: ' . $file;
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Cache cleared for file: test.txt'
Παράδειγμα
Πρακτικό παράδειγμα με λήψη μεγέθους αρχείου:
<?php
$file = 'data.txt';
// Πρώτη λήψη μεγέθους
$size1 = filesize($file);
// Αλλάζουμε το αρχείο (σε πραγματικό κώδικα το αρχείο μπορεί να είχε αλλάξει από άλλη διεργασία)
file_put_contents($file, 'new content', FILE_APPEND);
// Δεύτερη λήψη μεγέθους χωρίς εκκαθάριση cache
$size2 = filesize($file);
// Εκκαθαρίζουμε το cache και λαμβάνουμε το τρέχον μέγεθος
clearstatcache(true, $file);
$size3 = filesize($file);
echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Size1: 10, Size2: 10, Size3: 20'
Δείτε επίσης
-
τη συνάρτηση
file_exists,
που ελέγχει την ύπαρξη αρχείου -
τη συνάρτηση
filesize,
που επιστρέφει το μέγεθος αρχείου -
τη συνάρτηση
filemtime,
που επιστρέφει τον χρόνο τροποποίησης