我想根据文件名删除超过一个月的 pdf 文件。例如,如果(今天 - 1 个月)是“2022-06-01.pdf”,那么我想删除“2022-04-13.pdf”和“2021-01-22.pdf”等文件。我不想根据实际修改或创建日期来确定选择标准。
示例(临时/)
2019-02-01.pdf 2020-07-01.pdf 2021-03-10.pdf 2021-08-04.pdf 2022-03-30.pdf 2019-02-27.pdf 2020-07-08.pdf 2021-03-17.pdf 2021-08-11.pdf 2022-04-06.pdf
HTML
oldFiles(); purgeOLD();
JS
function oldFiles() { // this is ok
yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 30);
actualYear = yesterday.getFullYear();
actualMonth = yesterday.getMonth() + 1;
actualDay = yesterday.getDate();
if (actualMonth < "10") {actualMonth = "0" + actualMonth;}
if (actualDay < "10") {actualDay = "0" + actualDay;}
backtrack = actualYear +'-' +actualMonth +'-' +actualDay;
}
function purgeOLD () { // is this where the problem is ?
var new_data = backtrack; var data;
$.ajax({url: 'test.php', type: 'post', async: false, data: {user: new_data}});
}
PHP“test.php”
<?php // or is this ?
$result = $_GET['user'];
$rdm = $result .'.pdf';
$glob = glob("temp/2???-??-??.pdf");
foreach($glob as $file) {
if ($file < $rdm) {
{unlink('/home/example/public_html/temp/' .$file ."'"))}
}
}
?> Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我会完全在服务器端完成此操作。
DateTime实例$lastMonth = new DateTimeImmutable('-1 month'); $cutoff = sprintf('%s.pdf', $lastMonth->format('Y-m-d')); $glob = glob("temp/2???-??-??.pdf"); foreach($glob as $file) { if (basename($file)