19.1. Getting and Setting File Timestamps
Problem
You want to know when a file was last accessed or changed, or you want to update a file’s access or change time; for example, you want each page on your web site to display when it was last modified.
Solution
The fileatime( )
, filemtime( ), and
filectime( ) functions return the time of last
access, modification, and metadata change of a file:
$last_access = fileatime('larry.php');
$last_modification = filemtime('moe.php');
$last_change = filectime('curly.php');The touch( )
function changes a
file’s modification time:
touch('shemp.php'); // set modification time to now
touch('joe.php',$timestamp); // set modification time to $timestampDiscussion
The fileatime( ) function returns the last time a
file was opened for reading or writing. The filemtime( ) function returns the last time a file’s
contents were changed. The filectime( ) function
returns the last time a file’s contents or metadata
(such as
owner or permissions) were changed.
Each function returns the time as an
epoch
timestamp.
A file’s modification time can be updated with
touch( ). Without a second argument,
touch( )
sets the modification time to the
current date and time. To set a file’s modification
time to a specific value, pass that value as an epoch timestamp to
touch( ) as a second argument.
This code prints the time a page on your web site was last updated:
print "Last Modified: ".strftime('%c',filemtime($_SERVER['SCRIPT_FILENAME']));See Also
Documentation ...