| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Удаление файла с переименованием други |
| Автор: n0xi0uzz 30.12.2004, 12:13 |
| В общем, пишу форум на perl. Структура хранения топиков такова: все топикик раздела хранятся в папке с номерами от 0 и так далее. Проблема вот в чем. Начал писать админку и при удалении топика (то есть удалении файла (unlink)) последующий вывод остальных топиков невозможен, поскольку нарушается четкая последовательность "от нуля и так далее". Поэтому требуется при удалении топика, во всех остальных топиках, номера файлов которых больше чем удаляемый, нужно переименовывать их файлы на (новый_номер_файла)=(старый_номер_файла)-1; Как это проще всего реализовать? |
| Автор: dimes 30.12.2004, 12:18 | ||||
давай для начала разберемся почему:
|
| Автор: chaos 30.12.2004, 13:00 |
| а в чем проблема то? удаляешь свой файл, потом переименовываешь n на n-1 и удаляешь n вот и все, что тут тне понятного то? |
| Автор: n0xi0uzz 30.12.2004, 15:44 | ||||
да проблем нет, все путем %) я же спросил, как проще это реализовать, ведь переименовать надо каждый последующий файл после удаляемого ;) 2dimes потому что вывод осуществляется вот таким циклом (for):
и получается, что если удалить, допустим, третий фал, то цикл будет работать некорректно ;) |
| Автор: dimes 30.12.2004, 16:07 | ||
| Неслабо! Хорошо что ты сюда зашел. while (open $b, "sects/$secn/$a.top") так не делают чтобы перебрать все файлы в каталоге делай так:
|
| Автор: n0xi0uzz 30.12.2004, 16:17 |
| а смысл менять цикл while? он ведь в коде только для того, чтобы посчитать кол-во топиков, загнать это количество в переменную и потом использовать в цикле for для вывода топиков ;) |
| Автор: dimes 30.12.2004, 17:19 | ||
| Так тебе ID нужно только для того чтобы зделать сортировку и все? И больше это ID нигде не участвует? А например так:
|
| Автор: n0xi0uzz 1.1.2005, 15:08 |
| ну это все конечно хорошо, но это не решает той проблемы, которую я попросил помочь решить в начале топа - переименование файлов ;) |
| Автор: dimes 1.1.2005, 20:32 |
|
| Автор: n0xi0uzz 2.1.2005, 10:13 |
| прочитай пожалуйста начало темы ;) проблемой я это не считаю, но если бы я смог это сам написать к вам не обращался. Тем более, я попросил (цитата): "Как это проще всего реализовать?". Чуешь разницу? ;) |
| Автор: korob2001 2.1.2005, 23:41 |
| Послушай совет про ID. Потому как твой форум, по такому алгоритму, будет работать слишком медленно. |