Организация графической части сайта

12
ВC
На сайте с 02.02.2006
Offline
459
1049

Проектируя создание портала, я обнаружил неожиданную проблему, связанную с размещением и хранением графической информации.

На типовых CMS контент заносится с помощью визуального редактора, который размещает как текст, так и графику. При этом, если имя закачиваемого графического файла совпадает с именем уже имеющегося на сервере файла, то старый файл заменяется на новый, причем визуальный редактор о такой замене не предупреждает! Но контент-менеджер не может знать имена всех уже использующихся на сайте файлов, а потому на практике получается так, что, создав одну новую страницу, менеджер разрушил контент на другой ранее созданной странице (или даже на нескольких)!

Причем, для обнаружения этого факта надо вручную просмотреть весь сайт!

Как на практике профессионалы обходят эту проблему?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

На практике профессионалы генерируют уникальное имя файла на сервере, а не доверяют пользователю вслепую.

Там ещё надо будет проверять не загрузил ли он PHP код вместо картинки и всё такое. Кругом враги, в общем.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
ВC
На сайте с 02.02.2006
Offline
459
#2

Так реально делают?

Пренебрегая тем фактом, что с позиции СЕО рекомендуется называть файлы именами с ключевиками?

VD
На сайте с 06.10.2008
Offline
42
#3

Можно скрипт написать, который при загрузке картинки будет проверять, есть ли картинка с таким названием. Если есть, то автоматически изменять имя файла на имя с добавлением даты, типа kluchevik-02052014.jpg

ВC
На сайте с 02.02.2006
Offline
459
#4
Можно скрипт написать, который при загрузке картинки будет проверять, есть ли картинка с таким названием.

Можно, и я уже собрался это сделать, но прежде решил поинтересоваться у Профи, как они решили эту проблему. Чтобы не выдумывать решение, которое уже есть (если оно есть).

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#5
VIN DIESEL:
Можно скрипт написать, который при загрузке картинки будет проверять, есть ли картинка с таким названием. Если есть, то автоматически изменять имя файла на имя с добавлением даты, типа kluchevik-02052014.jpg

В таком случае лучше не дату, а UTS, так как может быть так, что сегодня загрузят 2 картинки с одинаковым названием. В итоге либо первая картинка будет перезаписана, либо 2-ая не загрузится;)

Подпись))
S1
На сайте с 28.03.2010
Offline
72
#6

Раз уж так критично для Вас менять название файлов, то лучше сделать проверку, и если обнаруживается файл с таким именем, создаете новую папку, например 001 и туда записываете файла. Вообще лучшая структура похожая на загрузку файлов Wordpress.

{папка с контентом}/{текущий год}/{текущий месяц}/{текущая дата}/

Если же файл с таким именем в папке существует, создаете новую папку

{папка с контентом}/{текущий год}/{текущий месяц}/{произвольный номер или номер по порядку}/

А в общем лучше добавлять к имени файла его crc32 хеш, для примера, через знак минус.

ICQ: 3533966 | Skype: spider13software | E-Mail: admin@spider13.net | Telegram: spider13software| Разработчик Node.js (https://spider13.net/) | Заметки онлайн (https://notes.spider13.net/)
forest25
На сайте с 12.09.2009
Offline
67
#7

Лично я делаю так, сперва проверяю наличие такого файла через file_exists и если такое есть то добавляю к имени substr(md5(time()),7), количество символов для пущей разницы еще можно рандомно задавать.

VPS 512MB 20GB SSD KVM - 5$ (http://u.hmdw.me/digitalocean) | ИМХО о хостингах (http://u.hmdw.me/hosting)
V
На сайте с 10.01.2012
Offline
85
#8

Как на меня лучше разбивать на подкаталоги. Просто изменение имени файла не всегда выход... К примеру закидывать 100к изображений в один каталог это ересь ))

Хоть по месяцам но нужно разбивать, а лучше действительно по год/месяц/день(/id новости или еще чего там к чему относится изображение)

melkozaur
На сайте с 06.04.2010
Offline
505
#9

А что, если в WordPress в визуальном редакторе загрузить файл с именем уже существующего - он его заменит?

Серверы в NL/US со скидкой 30% нашим читателям: E5-2650v4/10GB DDR4/240GB SSD/1 Gbps - от $20: https://ua-hosting.company/vps/nl SEO без компромиссов: https://seoleaks.net SEOLEAKS - продвижение сайтов: https://www.instagram.com/seoleaks
V
На сайте с 10.01.2012
Offline
85
#10
melkozaur:
А что, если в WordPress в визуальном редакторе загрузить файл с именем уже существующего - он его заменит?

А что кто-то говорит непосредственно что замена происходит в WP ???

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий