php - Delete old files - an hour ago or more than an hour ago -


possible duplicate:
how can delete files older 1 hour?

the code down below delete files inside folder called " images ". no complains works should, there way only delete file created hour ago or more hour ago instead? please show me how, i'm trying learn doing, please. try re-use same code down below better understanding , users php programmer around world

<?php define('path', 'images/'); function destroy($dir) { $mydir = opendir($dir); while(false !== ($file = readdir($mydir))) { if($file != "." && $file != "..") { chmod($dir.$file, 0777); if(is_dir($dir.$file)) { chdir('.'); destroy($dir.$file.'/'); rmdir($dir.$file) or die("couldn't delete $dir$file<br />"); } else unlink($dir.$file) or die("couldn't delete $dir$file<br />"); } } closedir($mydir); } destroy(path); echo 'all done.'; 

you can use filemtime() or filectime(). in addition, can't use rmdir(), because want delete specific files.

what have do

  1. date("u",filectime($file) - return last time file modified in unix epoch time.

  2. unlink($file) - deletes specified file. have use instead of rmdir().

  3. an if , while/for statement needed:

    while($file) { if(date("u",filectime($file) <= time() - 3600) { unlink($file) } } 

then add script:

function destroy($dir) { $mydir = opendir($dir); while($file = readdir($mydir)) { if($file != "." && $file != "..") { chmod($dir.$file, 0777); if(is_dir($dir.$file)) { chdir('.'); while($dir.$file) { if(date("u",filectime($file) >= time() - 3600) { unlink($dir.$file) } } } else unlink($dir.$file) or die("couldn't delete $dir$file<br />"); } } closedir($mydir); } 

i hope helps you.

remember:

  • there no way file creation time in unix/php
  • the current if statement returns true if file last changed more or equal 1 hour ago

Comments

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -