ftp — рекурсивный поиск файлов и папок, последних измененных в PHP

У меня есть FTP-сервер, и мой оператор обновляет его вручную через страницу FTP, и я точно не знаю, когда он это сделает.

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

Надо сказать, что он обычно создает новую папку по какому-то пути или удаляет их.

Сейчас через ftp_nlist Я рекурсивно читаю все файлы и папки, а затем проверяю путь в базе данных, если он новый, я сохраняю его или удаляю эту строку из базы данных.

Пожалуйста, поделитесь своей идеей и кодом для лучшей оценки.

-1

Решение

Вы можете проверить время последнего изменения папок и файлов с помощью bash-скрипта. find, Вот несколько примеров php:

exec('find . -mtime -1 -type d', $output);
// $output: list of folders modified within 24 hours
unset($output);

exec('find . -mtime -1 -type f', $output);
// $output: list of files modified within 24 hours
unset($output);

exec('find . -mtime +0 -type f', $output);
// $output: list of files modified greater than 24 hours
unset($output);

Вы должны проверить эти параметры -amin, -atime, -cmin, -ctime, -mmin, а также -mtime тоже.

   -amin n
File was last accessed n minutes ago.

-atime n
File was last accessed n*24 hours ago.  When find figures out
how many 24-hour periods ago the file was last accessed, any
fractional part is ignored, so to match -atime +1, a file has
to have been accessed at least two days ago.

-cmin n
File's status was last changed n minutes ago.

-ctime n
File's status was last changed n*24 hours ago.  See the
comments for -atime to understand how rounding affects the
interpretation of file status change times.

-mmin n
File's data was last modified n minutes ago.

-mtime n
File's data was last modified n*24 hours ago.  See the
comments for -atime to understand how rounding affects the
interpretation of file modification times.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]