Хранение картинок для каждого пользователя на сайте (php) - PullRequest
3 голосов
/ 09 апреля 2010

Пользователи веб-сайта должны иметь возможность хранить изображения в своей «области», если я должен сохранить их в базе данных напрямую или создать каталог для каждого пользователя. Или я должен просто иметь единый каталог для всех изображений и в базе данных хранить список изображений, которыми владеет каждый пользователь? Я ищу наиболее эффективный способ, который я считаю папкой для каждого пользователя?

Ответы [ 3 ]

3 голосов
/ 09 апреля 2010

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

Если вы храните только аватары, у вас есть одна большая папка, в которой именем изображения является идентификатор пользователя или хэш идентификатора пользователя.

1 голос
/ 09 апреля 2010

Зависит от того, сколько фотографий.

Если на пользователя есть только одно изображение, то, возможно, все в одном каталоге.

Однако, если у вас есть альбомы и тому подобное, в одной папке могут быть миллионы фотографий со всеми фотографиями пользователей. Поиск будет очень медленным. Тогда я выберу одну папку на пользователя.

Кроме того, никогда не предоставляйте прямой доступ к папкам. Используйте вашу базу данных для связи с файлами.

0 голосов
/ 09 апреля 2010

Лучше использовать папку или папку кеша. Вы также можете использовать функции изменения размера изображения, так что если пользователь загружает крупномасштабное изображение. Ваш сценарий сможет создавать разные размеры, как аватар картинки. И кэшируйте эти изображения. Так что просмотрщик миниатюр или аватаров только просматривает кеш-изображение исходного изображения. А большое изображение можно использовать для будущей работы, например, для предварительного просмотра аватара.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...