webForumDet fria alternativet

Ta bort fil äldre än 1 vecka

PHP

2 svar · 393 visningar · startad av hoolaboola

Medlem sedan mars 200827 inlägg
Frågan#1
<?php
 
$dir = 'bilder/';
if ($handle = opendir($dir)) {
  /* This is the correct way to loop over the directory. */
  while (false !== ($file = readdir($handle))) {
    if ($file[0] == '.' || is_dir("$dir/$file")) {
       // ignore hidden files and directories
       continue;
    }
    if ((time() - filectime($file)) > ($days *604800)) {
      unlink("$dir/$file");
    }
  }
  closedir($handle);
}
?>

Jag vill få det att fungera så att filen tas automatiskt bort om filen är äldre än en vecka. Som det är nu verkar den ta bort alla filer och jag får följande felmeddelande:
Warning: filectime() [function.filectime]: stat failed for test.JPG

tacksam för lösningar!

Medlem sedan apr. 2006409 inlägg
#2

Kan du inte göra så att filer äldre än en vecka inte visas i stället. Du uppnår samma reslutat utan att kasta bort filen, för tid och evighet.

Medlem sedan jan. 2005953 inlägg
#3

Ska du inte skicka med $dir i filectime() också? Blir väl fel sökväg annars?

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)