如何在特定时间后删除文件夹中的所有文件

3
我正在使用这段代码来删除文件夹中的所有文件。
$dir = $_SERVER['DOCUMENT_ROOT'].'/upload/';
        $op_dir=opendir($dir);
        $x = 5; 
        $current_time = time();
        $difference = $current_time - $x;

        while($file=readdir($op_dir ))
         {
                 if($file != "." && $file != ".." ){
                     var_dump($dir.$file);
                   unlink ($dir.$file);
                 }
        }
        closedir($dir);

但是我需要在特定的时间之后执行此操作,例如,在6个月之后,文件夹中的所有文件都应该被删除。我搜索了很多,但所有代码都与文件创建日期有关,而不是一般的特定时间。


你想将其作为定期事件执行还是在每个页面加载时执行?你正在运行Windows还是Linux? - Alex Andrei
我应该如何正确创建 PHP 脚本,以及在哪里放置这段代码?我正在使用 WordPress CMS。 - Anahit Ghazaryan
你有服务器的SSH访问权限吗?能否安装新的cron作业? - Alex Andrei
没有。你有用 PHP 的想法吗,@Alex Andrei?这可行吗? - Anahit Ghazaryan
可以实现,但是你应该仔细检查你的托管面板,“cpanel”或其他cron选项,因为你仍然需要安排PHP脚本。 - Alex Andrei
显示剩余2条评论
2个回答

1
你可以将操作设置为定时任务。 阅读以下链接: Crontab 你也可以将日期保存在数据库中,并在脚本顶部查询是否已经过去了6个月。

我对Crontab没有任何经验,所以我需要用PHP来完成它。@Tobias,你能帮我吗? - Anahit Ghazaryan
谢谢。我找到了一种使用crontabs的方法并且完成了它! - Anahit Ghazaryan

0

如何计算6个月的起始时间,以便我们可以获取目录创建时间或将特定时间保存到数据库进行计算。最佳选项是使用cronjob完成此任务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接