![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| n0xi0uzz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 29.12.2004 Где: Санкт-Петербург Репутация: нет Всего: 1 |
В общем, пишу форум на perl.
Структура хранения топиков такова: все топикик раздела хранятся в папке с номерами от 0 и так далее. Проблема вот в чем. Начал писать админку и при удалении топика (то есть удалении файла (unlink)) последующий вывод остальных топиков невозможен, поскольку нарушается четкая последовательность "от нуля и так далее". Поэтому требуется при удалении топика, во всех остальных топиках, номера файлов которых больше чем удаляемый, нужно переименовывать их файлы на (новый_номер_файла)=(старый_номер_файла)-1; Как это проще всего реализовать? Это сообщение отредактировал(а) n0xi0uzz - 30.12.2004, 12:15 |
|||
|
||||
| dimes |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
давай для начала разберемся почему:
Это сообщение отредактировал(а) dimes - 30.12.2004, 12:18 |
||||
|
|||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
а в чем проблема то?
удаляешь свой файл, потом переименовываешь n на n-1 и удаляешь n вот и все, что тут тне понятного то? Это сообщение отредактировал(а) chaos - 30.12.2004, 13:01 |
|||
|
||||
| n0xi0uzz |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 29.12.2004 Где: Санкт-Петербург Репутация: нет Всего: 1 |
да проблем нет, все путем %) я же спросил, как проще это реализовать, ведь переименовать надо каждый последующий файл после удаляемого ;) 2dimes потому что вывод осуществляется вот таким циклом (for):
и получается, что если удалить, допустим, третий фал, то цикл будет работать некорректно ;) |
||||
|
|||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
Неслабо! Хорошо что ты сюда зашел. while (open $b, "sects/$secn/$a.top") так не делают чтобы перебрать все файлы в каталоге делай так:
|
|||
|
||||
| n0xi0uzz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 29.12.2004 Где: Санкт-Петербург Репутация: нет Всего: 1 |
а смысл менять цикл while? он ведь в коде только для того, чтобы посчитать кол-во топиков, загнать это количество в переменную и потом использовать в цикле for для вывода топиков ;)
|
|||
|
||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
Так тебе ID нужно только для того чтобы зделать сортировку и все? И больше это ID нигде не участвует?
А например так:
|
|||
|
||||
| n0xi0uzz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 29.12.2004 Где: Санкт-Петербург Репутация: нет Всего: 1 |
ну это все конечно хорошо, но это не решает той проблемы, которую я попросил помочь решить в начале топа - переименование файлов ;)
|
|||
|
||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
|
|||
|
||||
| n0xi0uzz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 29.12.2004 Где: Санкт-Петербург Репутация: нет Всего: 1 |
прочитай пожалуйста начало темы ;) проблемой я это не считаю, но если бы я смог это сам написать к вам не обращался. Тем более, я попросил (цитата): "Как это проще всего реализовать?". Чуешь разницу? ;)
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Послушай совет про ID. Потому как твой форум, по такому алгоритму, будет работать слишком медленно.
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |