+7 495 008 8452
  • Загрузка
Выберите ваш цвет

Как создать временную папку с автоматической очисткой

Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Источник: https://dev.1c-bitrix.ru/community/forums/messages/forum7/topic75688/message391737/#message391737
Решил через АГЕНТ сделать

* я удаляю все папки и файлы в этих папках в /upload/tmp/board_users_adv/ не имеющих название сегодняшней даты (например 2015-17-10)

в init.php создал функцию (если этого файла у вас нет в php_interface, создайте его)
Код
function clear_tmp(){    
    $dir = $_SERVER["DOCUMENT_ROOT"]."/upload/tmp/board_users_adv/";

    $skip = array('.', '..');
    $data = date('Y-m-d');

    $first_dir = scandir($dir);// проверяем основную папку
    foreach($first_dir as $dir_1) {

        if(!in_array($dir_1, $skip)){ // пропускаем . и ..
            if($dir_1 != $data){

                $two_dir = scandir($dir.$dir_1); // проверяем вложеные папки

                foreach($two_dir as $dir_end){
                    if(!in_array($dir_end, $skip)){ // пропускаем . и ..
                        $sep = "";
                        foreach (glob($dir.$dir_1.'/'.$dir_end.'/*.*') as $sep) { // перебираем файлы в директории
                            unlink($sep); // удаляем файлы
                        }
                        rmdir($dir.$dir_1.'/'.$dir_end); // Удаляем папки в папке ДАТЫ
                    }
                }
            }
            rmdir($dir.$dir_1); // Удаляем папку с названием ДАТЫ
        }
    }
    return "clear_tmp();"; 
}

Далее:
топаем в админку (Рабочий стол - Настройки - Настройки продукта - Агенты)

Добавляем новый Агент:
Функция агента: clear_tmp();
ID пользователя: я выбрал свою учетку (Админ)
Интервал выбирайте сами: 86400 (это 60с*60м*24ч - я выставил раз в сутки)

Кому пригодилось, отписывайте =)


Назад в раздел

Подписаться на новые материалы раздела:
Загрузка...