|
|
|
Да это не секрет, просто многим он не нравится...
Я _НЕ_ регистрю файлы в базе данных.
Я _НЕ_ переименовываю их при аплоаде и не кидаю в один каталог :)
Я создаю на серваке отдельную структуру каталогов, идентичную структуре сайта, но с каким-либо префиксом (ессссс-но не руками, а автоматически) и кидаю в каталожку странички еёные файлы. А обращение потом использую не по номеру, а по имени (но без "пути", т.к. путь для каждого документа элементарно вычисляется при таком подходе), и далее так-же: макрос или что-либо типа <img alias="title.gif" />...
Достоинства:
1. всегда просто что-либо сделать с файлами любым ftp-клиентом, при этом не нужно нигде ничего регистрировать.
2. очень просто и наглядно
3. огромное кол-во файликов в одном каталоге (как в случае с переименовыванием и закидыванием в один каталог) - плохо для ОС, это вам сообщит любой админ :)
4. Очень просто достигается сохранение оригинального имени файла (а то, если кто-то загрузил info.doc, а оно переименовалось в 1234567.pdf и так скачивается - это плохо, приходится хранить original name, затем возиться с ^download....)
Недостатки:
1. Урл получается не очень коротким, хотя не файт, что он получается длиннее, чем в случае с уникальным идентификатором
2. Что делать, если дизайнер решил, что картинка будет тут не title.gif а title.jpg - не ясно, нужно не просто менять картинку, но и править текст статьи, где указано это title.gif (можно конечно обеспечить уникальность на уровне имени, т.е. есть jpg - покажется он, нету - покажется gif)
3. При регистрации в базе можно помешать туда-же (при аплоаде) ещё и размеры картинок, и нам не придется вычислять их при выводе в страницу (а вычисление размеров картинок - это файловые операции, открывающие файл картинки и анализирующие начало ее контента, что есть небыстро).
Так-же туда можно помещать кучу дополнительной информации, которую непонятно куда девать в используемом мной случае (описание, title и т.д...)
Естественно, возможно для разных случаев использовать различные комбинации, например хранить структуру, и ещё регистрить в базе. При файловых операциях в админе автоматически регистрить файлы... И ещё много чего...
Случаи - они разные бывают.
|