| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Чистка директории по времени и значению из базы |
| Автор: Jops 5.3.2013, 13:06 |
| Здравствуйте уважаемые! Помогите с решением или может, кто уже делал что-то подобное. Есть директория вида /vlc/ready/, внутри которой идёт формирование: /vlc/ready/cam1/03-03-2013 (сколь угодно большое кол-во папок)/… /vlc/ready/cam2/01-03-2013 (по аналогии)/… и т.д. /vlc/ready/название камеры/дата создания архива записей/сами записи Есть данные в базе вида: cam1 (название папки в директории /vlc/ready/); 10 или любое другое число (через это количество дней, начиная с момента создания папки 00-00-0000, удалить её). Выборка типа: SELECT cam_alias, delete_dir FROM cam_list и выдаёт «массив» значений И всё действие в следующем: Берём из базы название камеры (соответственно папки) и число (кол-во дней); прёмся в директорию и смотрим «А не устарели ли папки в cam1, например?». Если устарели, удаляем, если нет, то идём в cam2 и т.д. Сам скрипт будет запускаться в cron. Может, кто ваял уже что-то подобное или просто очертить, как правильно сделать. Вроде бы и ни чего такого сложного, но не идёт и всё в мозг нужные действия. Выборка, получение, а как с числом и папками разобраться, ну ни как. Благодарю всех, кто потратит своё время на данный вопрос P.S.: Имеется ли на PHP модуль или что либо подобное, для подкраски выводимых действий в консоли? Аля PERL |
| Автор: Jops 5.3.2013, 13:45 | ||||
Да именно кол-во дней. Тоесть 1 или 5 или 10 или 100 и.д.
Название камеры берётся для того что бы инициировать (найти) нужную папку в директории /vlc/ready/. Кол-во папок можеть быть много. Они вида: cam1, cam12, cam33 или например aaa88. А уже в ней нужно удалить папку(и) вида 00-00-0000 через соответствующее кол-во дней, выбранных тоже из бызы. И в итоге: Для каждой папки cam... своё кол-во дней.
Не совсем. В БД хранится кол-во дней, которое должны хранится папки с записями в cam... |
| Автор: Aliance 5.3.2013, 14:31 |
| Я написал псевдокод, чем он не устраивает? Из написанного в новом посту ничего не меняет сути. |
| Автор: Jops 5.3.2013, 15:17 |
| Я понял, спасибо. Просто уточнил) |
| Автор: Jops 11.3.2013, 04:45 | ||
Наконец то добрался до написания
В конечном итоге в консоле посредствам цикла foreach вывожу данные (для проверки) вида: cam1 = 14-03-2013 cam2 = 26-03-2013 cam3 = 12-04-2013 cam4 = 09-06-2013 china = 09-06-2013 cam6 = 09-06-2013 cam7 = 09-06-2013 cam8 = 06-05-2013 cam9 = 09-06-2013 cam10 = 09-06-2013 Всё корректно меняется (прибавление количества дней до удаления). А вот как дальше присобачить к вашей конструкции мой массив $array_time с данными, я как то не очень понимаю. Объясните? И ещё. rmdir ведь удаляет директорию, если она пустая. А она соответственно не пустая и предварительно надо удалить из неё все файлы. Разъясните пожалуйста, а то времени уже в обрез) Дотянул так сказать |