Как делают Вы автоматический удаляете все файлы под подкаталогом после x-time (позвольте, говорят после 24 часов) - не используя команду cronjob с сервера или мн. Как можно сделать это просто использующее код PHP или просто посетив страницу, не нажимая что-то и команду автоматические выполнения.
Ответ на последний комментарий из моего первого ответа. Я собираюсь написать образец кода, поэтому я создал другой ответ вместо добавления еще одного комментария.
Чтобы удалить файлы с настраиваемым расширением, вам необходимо реализовать код:
<?php
$path = dirname(__FILE__).'/files';
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ((time()-filectime($path.'/'.$file)) < 86400) { // 86400 = 60*60*24
if (preg_match('/\.txt$/i', $file)) {
unlink($path.'/'.$file);
}
}
}
}
?>
Комментарий : 1. Этот пример использует регулярное выражение / \. txt $ / i
, что означает, что будут удалены только файлы с расширением txt
. Знак «$» означает, что имя файла должно заканчиваться строкой «.txt». Флаг «i» указывает, что сравнение будет без учета регистра. Подробнее о функции preg_match () .
Кроме того, вы можете использовать функцию strripos () для поиска файлов с определенным расширением. Вот фрагмент кода:
<?php
$path = dirname(__FILE__).'/files';
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ((time()-filectime($path.'/'.$file)) < 86400) { // 86400 = 60*60*24
if (strripos($file, '.txt') !== false) {
unlink($path.'/'.$file);
}
}
}
}
?>
Комментарий : Этот пример кажется более очевидным. Результат strripos ()
также может быть достигнут комбинацией двух функций: strrpos (strtolower ($ file), '.txt')
, но, IMHO, это хорошее правило использовать меньше функций в коде, чтобы сделать его более читабельным и меньшим. Пожалуйста, прочтите внимательно предупреждение на странице функции strripos () (блок возвращаемых значений).
Еще одно важное замечание : если вы используете систему UNIX, удаление файла может завершиться неудачно из-за прав доступа к файлу. Вы можете проверить руководство о функции chmod () .
Удачи.
прочтите внимательно предупреждение на странице функции strripos () (блок возвращаемых значений).Еще одно важное замечание : если вы используете систему UNIX, удаление файла может завершиться неудачно из-за прав доступа к файлу. Вы можете проверить руководство о функции chmod () .
Удачи.
прочтите внимательно предупреждение на странице функции strripos () (блок возвращаемых значений).Еще одно важное замечание : если вы используете систему UNIX, удаление файла может завершиться неудачно из-за прав доступа к файлу. Вы можете проверить руководство о функции chmod () .
Удачи.
Вы можете использовать основные функции PHP filectime () и unlink () , чтобы проверить время создания файла и удалить его файл / файлы.
РЕДАКТИРОВАТЬ. Пример кода:
if ($handle = opendir('/path/to/files')) {
while (false !== ($file = readdir($handle))) {
if (filectime($file)< (time()-86400)) { // 86400 = 60*60*24
unlink($file);
}
}
}