Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

128
Views
delete files yyyy-mm-dd.pdf more than a month old

I have pdf files that I want to delete based on the file name that aremore than a month old. For example, if (today - 1 month) is '2022-06-01.pdf' then I want to delete files like '2022-04-13.pdf' and '2021-01-22.pdf'. I don't want to base the selection criteria based on actual date of modification or creation.

SAMPLE (in temp/)

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 ."'"))}    
}
}

?>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

I would do this entirely server-side.

  1. Construct a DateTime instance for "1 month ago"
  2. Create a filename from that instance
  3. Iterate the files and compare the basename (ignoring any directory prefix)
  4. If the filename represents a date prior to "1 month ago", delete it
$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) < $cutoff) {
        unlink($file);
    }
}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!