【发布时间】:2021-07-09 10:26:36
【问题描述】:
我想创建一个从多个文件夹/路径中删除文件的 PHP 脚本。 我管理了一些东西,但我想将此代码修改为更具体的文件夹。
这是代码:
<?php
function deleteOlderFiles($path,$days) {
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
$filelastmodified = filemtime($path . $file);
if((time() - $filelastmodified) > $days*24*3600)
{
if(is_file($path . $file)) {
unlink($path . $file);
}
}
}
closedir($handle);
}
}
$path = 'C:/Users/Legion/AppData/Local/Temp';
$days = 7;
deleteOlderFiles($path,$days);
?>
我想做一些事情,比如添加更多的路径和这个函数来为每条路径运行。 我尝试添加多个路径位置,但它不起作用,因为它总是采用最后一个 $ 路径变量。 例如:
$path = 'C:/Users/Legion/AppData/Local/Temp';
$path = 'C:/Users/Legion/AppData/Local/Temp/bla';
$path = 'C:/Users/Legion/AppData/Local/Temp/blabla';
$path = 'C:/Users/Legion/AppData/Local/Temp/blalbalba';
$days = 7;
deleteOlderFiles($path,$days);
感谢您的帮助!
【问题讨论】:
-
“因为它总是采用最后一个 $ 路径变量” - 当然是这样,因为您在那里多次覆盖同一个变量。如果那已经让你“吃惊”了,那么你或许应该从一个初学者教程开始,先解释一些基础知识?
-
那你走吧,没必要告诉我们你今天在做什么,但我想你很高兴告诉我们你的计划
-
你可以把你的路径放到一个array中,然后遍历它。要么在函数外部循环,在循环内部每次调用一条路径 - 要么将数组传递给函数,然后在函数内部循环。
-
@CBroe 我理解并感谢您的帮助。如果不难向我展示我如何做到这一点,您能否请教一下?
标签: php automation path delete-file