Есть скрипт для удаления файлов через определённое время
function clear_old_files(){
$expire_day = 24;
$expire_time = $expire_day * 60 * 60; // Время через которое файл считается устаревшим (в сек.)
$dir = wp_get_upload_dir()['basedir'] . '/comment_image/';
// проверяем, что $dir - каталог
if (is_dir($dir)) {
// открываем каталог
if ($dh = opendir($dir)) {
// читаем и выводим все элементы
// от первого до последнего
while (($file = readdir($dh)) !== false) {
// текущее время
$time_sec=time();
// время изменения файла
$time_file=filemtime($dir . $file);
// теперь узнаем сколько прошло времени (в секундах)
$time=$time_sec-$time_file;
$unlink = wp_get_upload_dir()['basedir'] . '/comment_image/' . $file;
if (is_file($unlink)){
if ($time>$expire_time){
if (unlink($unlink)){
echo 'Файл удален';
}else {
echo 'Ошибка при удалении файла';
}
}
}
}
// закрываем каталог
closedir($dh);
}
}
}
Данный скрипт я планирую запускать в cron, но мне нужно как-то его переделать под БД
Т.е. у меня есть таблица
comment-image и в ней есть поля:
comment_id (по-умолчанию null) и
url картинки
Пример url:
8292488b394caa9.s.siteapi.org/comment/oekeogb4br40...
Как мне проверять в скрипте, что comment_id == null ?
Т.е. если фото было добавлено в БД и в течении 24 часов comment_id == null, то удалять все записи c comment_id == null в БД, а также фото ?