2015-07-28 4 views
-1

Я делаю Cron, который удалит папку старше 15 дней. Я уже создал функцию для удаления папки и ее содержимого, то, что у меня нет, - это петля внутри папки, а затем проверить возраст каждой папки, а если это 15 дней или выше, я буду выполнять функцию удаления.Прокрутите список папок и проверьте, сколько лет в папке

Я хочу, чтобы петля внутри public/uploads

в моем uploads директории хранить папки с экс контентом.

public/ 
    uploads/ 
     Test/ 
     Test2/ 

Я хочу, чтобы проверить, как старый те папки, то удалите его, вызвав

function Delete($path) 
{ 
if (is_dir($path) === true) 
{ 
    $files = array_diff(scandir($path), array('.', '..')); 

    foreach ($files as $file) 
    { 
     Delete(realpath($path) . '/' . $file); 
    } 

    return rmdir($path); 
} 

else if (is_file($path) === true) 
{ 
    return unlink($path); 
} 

return false; 
} 

Как сделать это? Thanks

+0

посмотреть Q & http://stackoverflow.com/q/ 8965778/и http://stackoverflow.com/q/3126191/ - один из них, вероятно, дубликат –

ответ

0

Эта функция, которую вы ищете, является filemtime(). Это позволяет определить последнюю измененную дату файла (или каталога). Это в сочетании с various directory functions позволит вам пройти через них и проверить их даты.

Это что-то издевались вверх от верхней части головы, чтобы дать вам общее представление о том, как вы можете идти об этом:

$dir = '/path/to/my/folders'; 
$folders = scandir($dir); 
foreach ($folders as $folder) { 
    $lastModified = filemtime($folder); 
    // Do a date comparison here and call your delete if necessary 
} 
+0

Спасибо, это то, что мне нужно :) Как конвертировать $ lastModified в формат времени и сравнивать его, если он больше чем 15days? – jackhammer013

+0

Мы не можем сделать все для вас здесь - попробуйте сделать некоторые исследования и вернуться, если вы застряли. * Подсказка: переполнение стека поиска для «дат сопоставления php» * –

+0

Выполнено с ним уже :) Большое спасибо :) – jackhammer013