Владимир55
2.05.2014 - 13:25
Проектируя создание портала, я обнаружил неожиданную проблему, связанную с размещением и хранением графической информации.
На типовых CMS контент заносится с помощью визуального редактора, который размещает как текст, так и графику. При этом, если имя закачиваемого графического файла совпадает с именем уже имеющегося на сервере файла, то старый файл заменяется на новый, причем визуальный редактор о такой замене не предупреждает! Но контент-менеджер не может знать имена всех уже использующихся на сайте файлов, а потому на практике получается так, что, создав одну новую страницу, менеджер разрушил контент на другой ранее созданной странице (или даже на нескольких)!
Причем, для обнаружения этого факта надо вручную просмотреть весь сайт!
Как на практике профессионалы обходят эту проблему?
redreem
2.05.2014 - 13:34
сохраняешь на сервере под сгенереным именем, например md5( realname + currentdatetime). в базу ложишь реальное имя и сгенереное.
Владимир55
2.05.2014 - 13:50
Цитата |
в базу ложишь реальное имя и сгенереное. |
В одно поле реальное имя, в другое сгенерированное имя?
И что дальше? Как выводить?
(сам файл в базу не пишется).
redreem
2.05.2014 - 14:03
ну, да, - картинки, которые тебе вставили в редакторе ты переименовываешь, там, где картинка-контент в тексте, подставляешь сгенеренное имя вместо реального (на этапе сохранения контента в базе).
выводить в браузер по сгенеренному имени конечно. а если надо качнуть файл с
оригинальным именем, то создавать временно такой же, но с реальным именем.
redreem
2.05.2014 - 14:04
вообще вроде у продвинутых визивиг эта логика вшита уже по умолчанию.
Владимир55
2.05.2014 - 14:10
Я тоже так думал, что логика вшита, а на практике оказалось, что ничего этого нет. Визивиг TinyMCE.
redreem
2.05.2014 - 14:15
Владимир55
хз. может надо покопать серверную часть у визивигов. слабо верится, что не вшито.
sergeiss
2.05.2014 - 14:38
Цитата (Владимир55 @ 2.05.2014 - 14:10) |
Визивиг TinyMCE |
Может я что-то не понимаю... Но как визивиг может влиять на сервер??? На сервере ты сам должен обрабатывать данные. Визивиг же работает только на клиентсткой части, т.е. в браузере.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Владимир55
2.05.2014 - 14:51
Цитата |
Визивиг же работает только на клиентсткой части, т.е. в браузере. |
По идее так. Но чтобы разместить картинку, и чтобы визивиг мог прописать ее адрес в HTML коде, ее прежде надо закачать на сервер. И это тоже делает визивиг.
redreem
2.05.2014 - 14:59
sergeiss
дык визивиг "поставляется" и серверным обработчиком всего что он там напримнимает. копал один раз тини - там довольно обширная серверная часть.
Invis1ble
2.05.2014 - 16:21
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.