Всем привет! Уже не первую неделю передо мной стоит задача, натолкните плз на мысль алгоритма редактирования.
На кулинарном сайте, в рецепте есть 3 шага, в каждом по одной картинке. Каждая картинка называется именем рецепта (в транслите) плюс номер шага:
/image/kurica_s_gribami-1.jpg
/image/kurica_s_gribami-2.jpg
/image/kurica_s_gribami-3.jpg
В базе их имена хранятся в отдельном
поле в записи со своим шагом.
При редактировании шагов, картинка может измениться, может остаться прежней, могут быть добавлены или удалены шаги (добавлены в любое место или удален любой шаг) также шаги могут поменяться местами.
Допустим я добавляю после первого шага еще один, выходит, мне нужно сохранить новую картинку под именем
/image/kurica_s_gribami-2.jpg
соответственно та, которая была под этим именем станет называться
/image/kurica_s_gribami-3.jpg
и т.д.
Какой алгоритм должен быть, чтобы не перезаписать старую картинку именем
/image/kurica_s_gribami-2.jpg
учитывая, что точно также может быть и удален любой шаг, а значит нужно будет пересохранять в обратную сторону.
Даже изначально изменить имена тех картинок, которые уже были в базе и на сервере, не получается, потому как при
rename(/image/kurica_s_gribami-2.jpg, /image/kurica_s_gribami-3.jpg);
будет перезаписана третья картинка.