![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Здравствуйте уважаемые!
Помогите с решением или может, кто уже делал что-то подобное. Есть директория вида /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 |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Хотелось бы видеть еще дамп таблицы, наверное, потому что не понятно зачем здесь
число дней, а не timestamp. Имеется ввиду, что в БД хранится кол-во дней, которое должна хранится камера? Тогда там, берем текущую дату и для каждой камеры отнимаем из нее N дней, указанных в БД (например, гуглим по DateDiff). Получаем массив дат вида camera => date. Далее, бежим по директориям и по датам, проверяем - если нужно удаляем, примерно так:
Это псевдокод, сама реализация за тобой. Это сообщение отредактировал(а) Aliance - 5.3.2013, 13:21 |
||||
|
|||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Да именно кол-во дней. Тоесть 1 или 5 или 10 или 100 и.д.
Название камеры берётся для того что бы инициировать (найти) нужную папку в директории /vlc/ready/. Кол-во папок можеть быть много. Они вида: cam1, cam12, cam33 или например aaa88. А уже в ней нужно удалить папку(и) вида 00-00-0000 через соответствующее кол-во дней, выбранных тоже из бызы. И в итоге: Для каждой папки cam... своё кол-во дней. Не совсем. В БД хранится кол-во дней, которое должны хранится папки с записями в cam... |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Я написал псевдокод, чем он не устраивает? Из написанного в новом посту ничего не меняет сути.
|
|||
|
||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Я понял, спасибо. Просто уточнил)
|
|||
|
||||
| Jops |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 31.1.2013 Репутация: нет Всего: нет |
Наконец то добрался до написания
В конечном итоге в консоле посредствам цикла 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 ведь удаляет директорию, если она пустая. А она соответственно не пустая и предварительно надо удалить из неё все файлы. Разъясните пожалуйста, а то времени уже в обрез) Дотянул так сказать Это сообщение отредактировал(а) Jops - 11.3.2013, 11:21 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |