Php 根据创建日期自动删除文件

Php 根据创建日期自动删除文件,php,batch-file,automation,delete-file,Php,Batch File,Automation,Delete File,我在自动删除服务器上特定文件夹中的文件时遇到问题 我需要运行自动删除每31分钟对一个文件夹,其中存储传入的文件。这些文件将始终为*.pdf格式 我在这个网站上发现了一个类似的问题 然而,我的问题是*.pdf文件,我以前从未使用过php,理想情况下我是在寻找一个.bat文件,但如果不可能,那也没问题。 <?php if ($handle = opendir('/path/to/files')) { while (false !== ($file = readdir($handle

我在自动删除服务器上特定文件夹中的文件时遇到问题

我需要运行自动删除每31分钟对一个文件夹,其中存储传入的文件。这些文件将始终为*.pdf格式

我在这个网站上发现了一个类似的问题

然而,我的问题是*.pdf文件,我以前从未使用过php,理想情况下我是在寻找一个.bat文件,但如果不可能,那也没问题。


<?php
if ($handle = opendir('/path/to/files')) {

    while (false !== ($file = readdir($handle))) { 
        $filelastmodified = filemtime($file);

        if((time() - $filelastmodified) > 24*3600 && strtolower(substr($file, -4)) == ".pdf")
        {
           unlink($file);
        }

    }

    closedir($handle); 
}
?>
此添加的条件检查文件名是否以“.pdf”结尾。你可以把它当作一个工具来运行


您不妨改用shell命令。使用
-name
-exec
,并执行相同的操作,省去了对PHP解析器的需要。

感谢您的帮助,只是为了再次检查,我需要更改路径。就我而言,把时间改为1860年。然后要激活这些命令,我只需将其保存在*.txt中,然后将名称更改为*.Crontab?是的,您应该手动运行该脚本以确保其正常工作。你的机器是linux吗?如果不是,则不能以这种方式使用cronjobs。您必须在Windows上搜索其他选项。如果您使用linux,请阅读有关cronjobs的内容。仅重命名文件不起作用。基本上,您必须执行
crontab-e
,并以特定语法在文件中插入一行(例如,在有关cronjobs的链接文章中解释了这一点)。不,我在Windows上运行。对不起,这对我来说都是新鲜事,所以我可能会问一些愚蠢的问题。快速搜索已将我发送到任务计划程序,感谢您的帮助。