Delete temporary files

This example shows how to delete specific files after a given time span.
This works good for cleaning cached files.

Snippet information

Author:
Jonas John

License:
Public Domain

Language:
PHP

Created:
12/10/2007

Updated:
12/10/2007

Tags:
, ,

Related links:
- Glob examples


// Define the folder to clean
// (keep trailing slashes)
$captchaFolder  = 'temp/';
 
// Filetypes to check (you can also use *.*)
$fileTypes      = '*.jpg';
 
// Here you can define after how many
// minutes the files should get deleted
$expire_time    = 20; 
 
// Find all files of the given file type
foreach (glob($captchaFolder . $fileTypes) as $Filename) {
 
    // Read file creation time
    $FileCreationTime = filectime($Filename);
 
    // Calculate file age in seconds
    $FileAge = time() - $FileCreationTime; 
 
    // Is the file older than the given time span?
    if ($FileAge > ($expire_time * 60)){
 
        // Now do something with the olders files...
 
        print "The file $Filename is older than $expire_time minutes\n";
 
        // For example deleting files:
        //unlink($Filename);
    }
 
}


Found a bug? Or do you have a better solution for this?
Feel free to leave a message:

Add a comment


Leave a comment

SQ257 February 12, 2010 at 00:16
Thanks a bunch this is just what i needed.
Tan December 01, 2009 at 22:40
Great work, but it throws warning if $captchaFolder is empty! Requires one more check before "glob".
aap November 23, 2009 at 10:53
This is perfect! Exactly what i needed! Many thanx for this script...
Testing March 13, 2009 at 03:41
This works perfectly. I have a script I wrote that creates a file that is then included as an instant result to the user. I had files piling up like crazy. I added this at the bottom of the page and it deleted all my old, unneeded files. Thanks so much!
ad February 01, 2009 at 20:49
asd