3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
|
|
1 | |
MySQL Частичная замена данных в Бд25.12.2018, 15:23. Показов 840. Ответов 10
Метки нет (Все метки)
Здравствуйте уважаемые форумчане. Такой вопрос к вам. Подскажите, пожалуйста, как лучше всего организовать такую вещь:
У меня на сайте пользователь к комментариям может прикреплять гифки со сторонних ресурсов. Дабы гифки не воспроизводились сразу, я скачиваю эти гифки (при добавлении каммента пользователем) во временную папку и делаю скриншот первого кадра. И таким образом получаю возможность отображать картинку, а при клике по ней - замену на оригинальную гифку, но уже на моем сервере которая. Так вот. Сообщения раз в двое суток уходят в архив (его можно просматривать) и эти гифки уже особо никому не нужны и чтобы место не занимать на сервере, я хочу их раз в двое суток удалять и вместо ссылок на мой сервер менять ссылки на оригинальный ресурс. Чтобы картинки не были битыми и продолжали работать и в архиве. Вот оттуда и вопрос, а как лучше это сделать? При сохранении картинки на сервер я в заношу в БД данные о картинке: Т.е оригинальный адрес и дата добавления имеются. Потом нужно сделать выборку из таблицы с комментариями где в тексте сообщения есть тег [img]http://site.ru/TmpGif/гифки-котэ-бармен-4552713.gif[/img] с вложенной ссылкой на мой сервер и заменить её на оригинальную внутри тега.Прошу совета, как это лучше сделать?
0
|
25.12.2018, 15:23 | |
Ответы с готовыми решениями:
10
Частичная замена адреса картинки при наведении (замена src при hover) Обновка или частичная замена! Частичная замена дизайна почтовой базы Частичная замена ПК на AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ |
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||||||
25.12.2018, 16:01 | 2 | |||||
0
|
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
|
|
25.12.2018, 16:15 [ТС] | 3 |
tarasalk, мне не надо выводить средствами php ту или иную ссылку... В течении 2-х дней пока сообщение (отдельная таблица с сообщениями - comments, поле text) доступно всем пользователям то ссылка на картинку в сообщении ( в БД ) должна быть на мой сервер (заносится сразу при создании комментария), а как сообщение уходит в архив, то ссылку в БД нужно перезаписать на ссылку от первоисточника и файлы со своего сервера я удалю
Добавлено через 9 минут Т.е есть таблица с данными о гифке, а есть таблица с сообщениями... И Допустим пользователь оставил комментарий: И в таблице comments нужно найти сообщение где используется ссылка http://site.ru/TmpGif/гифки-ко... 552713.gif и заменить её на оригинальную, та что указана в таблице с данными о гифке
0
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
25.12.2018, 16:28 | 4 |
Где вы в моем коде увидели вывод? Этот код для получения актуальной ссылки.
Всё что вы написали я понял и с первого раза. Ответ тот же: работа со строками. Обычный replace.
0
|
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
|
|
25.12.2018, 16:36 [ТС] | 5 |
А где Вы видели что я спрашивал как получить актуальную ссылку? Все ссылки необходимые хранятся в таблице с данными о гифке. Как их вывести я знаю. Вопрос был о другом.
Спасибо. Ваш ответ про регулярки я понял. Но ответ не полный. По крайней мере для меня. Есть несколько этапов. Как минимум. Поиск корректный сообщения, в котором нужно заменить ссылку. Потом правильная замена. Так вот, почему я спросил. Может это все можно было бы и просто запросами сделать. Но теперь я так полагаю что все-таки нет? Только искать запись типа Код
where text LIKE = '%http://site.ru/TmpGif/гифки-котэ-бармен-4552713.gif%' Только вот насколько это все серверу будет легко обрабатывать по такому алгоритму?
0
|
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
|
|
25.12.2018, 17:25 [ТС] | 7 |
Ну вроде бы все объяснил. Разве я написал просто как лучше сделать? Подробно описал.
Тогда нужно будет навечно хранить данные об этих гифках. А накой это надо?
0
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
25.12.2018, 17:54 | 8 |
Зачем навечно? Только 2 дня.
Еще раз. У вас есть оригинальный комментарий "Текст ссылка1". Вы его как есть сохраняете в БД. В отдельной табличке. сохраняете что в таком то комменте вместо "ссылка 1" надо показывать "ссылка 2". Дальше при выводе коммента у вас стоит проверка - если коммент в архиве, то показывать оригинальное сообщение, иначе сделать замену ссылки(если она есть) Через 2 дня сработает крон и удалит устаревшие ссылки.
0
|
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
|
|
25.12.2018, 18:02 [ТС] | 9 |
Информации о комментарии нет никакой. Потому как гифка на сервер заливается в момент создания комментария, когда пользователь еще только формирует сообщение в редакторе bbcode. Когда он вставляет ссылку в редактор на картинку, если это гиф, то аяксом идет запрос к файлу php с указанием ссылки на файл. И файл скачивается, а в таблицу заносятся указанные на скриншоте данные. И в редактор возвращается уже ссылка на картинку с моего сервера. Затем пользователь продолжает формировать каммент и отправляет его потом.
Нет. Есть 2 таблицы. Одна с камментами, а другая с архивными камментами (структура таблиц идентична), они туда перемещаются по крону раз в двое суток.
А на страницу камментов выводятся обычные сообщения. А просмотр архива организован отдельно. По запросу, скажем так.
0
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
25.12.2018, 19:27 | 10 |
В чем проблема возвращать оригинальную ссылку?
Что нет? Я вам расписал как лучше сделать. Вы же зачем то рассказываете свою костыльную реализацию, из за которой и возникла проблема. Если вам просто лень переделывать, то так и скажите. Мне собственно фиолетово)
0
|
3 / 3 / 2
Регистрация: 16.01.2013
Сообщений: 471
|
|
25.12.2018, 20:18 [ТС] | 11 |
Накой ляд мне её возвращать? Мне нужна именно ссылка на мой сервер!!!
В чем костыль? Уж если такие слова говорите, тогда поясняйте, а то голословно просто чего-то писать, каждый может. Что переделывать-то? У меня все правильно. А то что Вы мне советуете, у меня складывается впечатление, что хоть вы и кичились что все поняли с первого раза, а по факту не поняли нифига, а оттуда и нервы. Раз фиолетово, то поберегите свои нервы и мои. Спасибо за то что откликнулись, но видимо мы так и не поймем друг друга, а переходить на личности и "сраться" я не намерен. Не для этого сюда пришел. Подожду совет от других знатоков
0
|
25.12.2018, 20:18 | |
25.12.2018, 20:18 | |
Помогаю со студенческими работами здесь
11
Поиск и замена данных из значений разных ячеек, с учетом порядка данных Замена полей баз данных в целях защиты данных Киносеанс - хранение данных, замена данных, добавленных новых PHP и работа с базой данных (замена данных) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |