создание личного имиджа для использования в качестве подписи - PullRequest
2 голосов
/ 14 января 2010

Я хочу создать личное изображение, которое показывает последние 3 элемента от пользователя (чтобы он мог использовать в качестве подписи форума, но это не может быть динамическое изображение, например user? Id = 1, потому что большинство форумов блокирует это) Я планирую использовать GD, это не проблема, но: - чтобы обновить изображение при вставке данных, я просто вставляю «обновление изображения» в скрипт вставки или есть лучший способ? я хочу обновить изображение в максимальном времени 5 ~ 10 минут от вставки

- если 500 пользователей используют эту услугу, это потребует слишком много ресурсов от сервера? не в полосе, я имею в виду создать образ каждый пользователь обычно обновляет свои предметы 3 или более раз в неделю, не так много

  • , поскольку это единственное обновление действий пользователя, кеш не включается, верно?

спасибо

Ответы [ 2 ]

3 голосов
/ 14 января 2010

это не будет проблемой производительности (предполагаемая еженедельная загрузка - 1500 изображений - может быть сгенерирована за несколько секунд). Вы также можете генерировать изображение только тогда, когда оно запрошено и кэшировать его ...

Вы можете обойти динамический URL в проблеме с сигнатурой форума, используя чистый URL без строки запроса:

http://www.my.site/my/image/123

mod_alias может перенаправить это внутренне в генератор изображений ...

1 голос
/ 14 января 2010

Если вы не хотите, чтобы пользователь ждал, пока скрипт обновит свой сигнал при загрузке, вам нужно будет установить флаг в БД для этого пользователя, а затем запустить cronjob или какой-нибудь такой автоматический скрипт.каждые 5 минут или около того.Cronjob может запросить БД, чтобы узнать, какие пользователи нуждаются в обновлении, а затем выполнить обновление.

Если у вас имя изображения остается прежним (например, «user_15_sig.jpg»), изображение может быть кэшированобраузер.Таким образом, даже если вы обновили образ на своем сервере, пользователи, которые кэшировали это изображение, увидят старый.Вы можете обойти это, добавив переменную к имени изображения (aka "user_15_sig.jpg? Temp = 123). НО, поскольку вы сказали, что хотите избежать динамического контекста изображения (даже если он не будет генерироваться динамически)), вам нужно будет как-то обновить имя образа. Одним из способов будет наличие в БД поля, содержащего метку времени последнего обновления образа этого пользователя, а затем добавьте метку времени к имени образа при сохранении обновленной версии.(он же "user_15_sig_1234567.jpg", где 1234567 - метка времени.

...