Как добиться кэширования вставленных картинок?

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Divet
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Как добиться кэширования вставленных картинок?

Сообщение Divet »

Решил слегка изменить стиль, добавил две картинки - анимированные гифки, каждая по 80 кб примерно. Они не кэшируются браузером. В результате у пользователей, активно посещающающих форум, накапливается трафик. Помогите плиз решить эту проблему. Пытался найти информацию в сети - нашел указание на то, что не отдается время модификации файлов картинок и поэтому браузер не кэширует их.
Картинки я вставлял с абсолютными путями в файл styles\subsilver2\template\overall_footer.html
Вопрос: а как сделано, что кэшируется логотип phpBB, который в верхнем левом углу форума? Сделано это как-то хитро - я пытался разобраться в php коде, но не особо преуспел... Просветите плиз, что нужно делать, если есть картинка, мы хотим ее вставить, как нужно это правильно сделать, чтобы отдавалось время модификации?
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Как добиться кэширования вставленных картинок?

Сообщение FladeX »

Мало что понял...
Но насколько я понимаю, кеширование в phpBB совсем другое, вы же спрашиваете про кеширование на стороне клиента. А оно зависит от настроек браузера конечного пользователя.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Re: Как добиться кэширования вставленных картинок?

Сообщение Rayden »

попиши картинку через css и она должа будет кешироваться.
А вообще FladeX прав, многое зависит от настроек браузера.
phpBB2 FAQ
phpBB3 FAQ
Divet
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Re: Как добиться кэширования вставленных картинок?

Сообщение Divet »

Ну да, я имею в виду кэширование картинок браузером! Но отнюдь не все зависит от настроек браузера пользователя, увы. Если у картинки нет в HTTP заголовке такого параметра, как время модификации, то браузер не будет брать ее из своего кэша, а будет каждый раз загружать с сайта! Почему этот параметр исчезает, если картинка вставлена в страницу, генерируемую php скриптом? - Я читал, что это особенность языка PHP!!! Гуру рекомендуют картинку не вставлять как обычно ( IMG src="http://lyalyalya.com/lya.gif"> ), а тоже генерировать скриптом. Но к сожалению, эти гуру не объясняют подробно, как это сделать...
За совет вставить в css - спасибо, сейчас попробую это сделать. О результатах отпишусь.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Как добиться кэширования вставленных картинок?

Сообщение FladeX »

Divet писал(а):Если у картинки нет в HTTP заголовке такого параметра, как время модификации, то браузер не будет брать ее из своего кэша, а будет каждый раз загружать с сайта!
можно пример такой реализации?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Divet
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Re: Как добиться кэширования вставленных картинок?

Сообщение Divet »

Увы... Использование css не помогло вовсе :( Редактировал styles/subsilver2/theme/stylesheet.css, вписал вот это:
#fooleft {
background-image: url('./images/bulk.gif');
background-repeat: no-repeat;
}

затем в styles/subsilver2/template/overall_footer.html написал:
<table cellspacing="0" cellpadding="0" border="0"><tr><td width="100" height="120" id="fooleft">&nbsp;</td></tr></table>
Не забыл обновить кэш шаблона в админке.
Результат нулевой. Как не кэшировалась гифка , так и не кэшируется :(
Кстати, об этом же говорит и вид окна, если вызвать контекстное меню и выбрать "Сохранить фон как" - Имя файла - Безымянный, Тип файла - Точечный рисунок (*.bmp). То есть браузеру не передается даже content-type?

Пример реализации? Ну не знаю я, как это PHP делает! Но убедиться можно даже прямо на этой странице форума!!! Посмотрите в самом низу на кнопки W3C, Hotlog, mail.ru и т. д. Кликните каждую правой кнопкой и посмотрите свойства! Создан - Недоступно, Изменен - Недоступно, Размер - Недоступно, Тип - Недоступно! Вот эти кнопки и не будут кэшироваться. А например вверху кнопки "Возможности", "Файлы", "Документация", "Конференция" - в их свойствах все видно - и когда создан, и когда изменен, и размер и тип. Они будут кэшироваться.

Уважаемый Гуру! Хелп ми! Как вставить картинку, чтобы она вела себя как эти кнопки вверху, а не как те, что внизу???
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Как добиться кэширования вставленных картинок?

Сообщение FladeX »

Divet писал(а):в их свойствах все видно - и когда создан, и когда изменен, и размер и тип.
ну это делается с помощью атрибутов тега <img> - width, height, border, alt, title, lang
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
RedNaxi
Former team member
Сообщения: 933
Стаж: 19 лет 7 месяцев
Откуда: BeBoss.ru
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Как добиться кэширования вставленных картинок?

Сообщение RedNaxi »

не совсем. когда создан и изменен нельзя задать этими параметрами. размер картинки (в смысле 'вес'), насколько я понимаю - тоже.
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Re: Как добиться кэширования вставленных картинок?

Сообщение Rayden »

Divet писал(а):Но убедиться можно даже прямо на этой странице форума!!! Посмотрите в самом низу на кнопки W3C, Hotlog, mail.ru и т. д. Кликните каждую правой кнопкой и посмотрите свойства! Создан - Недоступно, Изменен - Недоступно, Размер - Недоступно, Тип - Недоступно! Вот эти кнопки и не будут кэшироваться.
Фигня, у w3c и мастерхоста все доступно, потому что это готовые картинки, а у счетчиков нет, потому что картинка генерится на лету.

Добавлено спустя 2 минуты 27 секунд:
Divet писал(а):"Сохранить фон как" - Имя файла - Безымянный, Тип файла - Точечный рисунок (*.bmp). То есть браузеру не передается даже content-type?
Очисти кеш своего браузера, он похоже переполнился. Такое на ИЕ бывает. Тогда он любые картинки как бмп начинает воспринимать.
phpBB2 FAQ
phpBB3 FAQ
Divet
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Re: Как добиться кэширования вставленных картинок?

Сообщение Divet »

У W3C таки недоступно! Хотя это не счетчик!
Вот что генерится на лету - это как раз близко к истине, потому что страницы форума на PHP тоже генерятся на лету! Со всеми вытекающими. Но неужели нет способа все-таки отдать нужные данные?
Кэш не переполнился, его размер был 30 Мб при 128 разрешенных, но я его очистил. Естественно, ничего не изменилось :) Причем во всех трех известных браузерах одна и та же картина.
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Re: Как добиться кэширования вставленных картинок?

Сообщение Rayden »

Divet писал(а):У W3C таки недоступно! Хотя это не счетчик!
Млять!
Рисунок PNG
http://www.w3.org/Icons/valid-xhtml10-blue
2026 байт
88х31
18.07.2008


Пользуйся нормальным браузером.
phpBB2 FAQ
phpBB3 FAQ
Divet
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Re: Как добиться кэширования вставленных картинок?

Сообщение Divet »

Rayden писал(а):Млять! Пользуйся нормальным браузером.
Вы чего так нервничаете? Я не собираюсь терпеть от Вас завуалированный мат! По теме нечего сказать? Проблему вообще отрицаете? Код php, видно, никогда не правили? Или говорите по теме или лучше промолчите!
Ваш совет вставить в CSS оказался неверным!
Повторяю вопрос к гуру (если они тут есть):
Как вставить картинку в страницу форума, генерируемую php-скриптом, чтобы отдавались HTTP заголовки?
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 3 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Как добиться кэширования вставленных картинок?

Сообщение FladeX »

Divet писал(а):Как вставить картинку в страницу форума, генерируемую php-скриптом, чтобы отдавались HTTP заголовки?
какие заголовки у изображений?
Попробуйте другим браузером, настройте там кэш, и посмотрите, останется ли картинка после посещения странички.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 21 год 2 месяца
Поблагодарили: 44 раза

Re: Как добиться кэширования вставленных картинок?

Сообщение Rayden »

Divet
Мне как то не интересно, что ты там собираешься терпеть, а что нет.
Divet писал(а):Ваш совет вставить в CSS оказался неверным!
Да что ты? может у кого-то руки не из того места растут?

Ты почитай свои посты, станчала ты утверждаешь, что картинку надо генерить средствами php, чтоб она кешировалась:
Divet писал(а):Гуру рекомендуют картинку не вставлять как обычно ( IMG src="http://lyalyalya.com/lya.gif"> ), а тоже генерировать скриптом.
потом утверждаешь строго противоположное:
Divet писал(а):Посмотрите в самом низу на кнопки W3C, Hotlog, mail.ru и т. д. Кликните каждую правой кнопкой и посмотрите свойства! Создан - Недоступно, Изменен - Недоступно, Размер - Недоступно, Тип - Недоступно! Вот эти кнопки и не будут кэшироваться.
А в конце приводишь пример картинок, которые делал я лично:
Divet писал(а):А например вверху кнопки "Возможности", "Файлы", "Документация", "Конференция" - в их свойствах все видно - и когда создан, и когда изменен, и размер и тип. Они будут кэшироваться.
К твоему сведению, кнопки вставлены обычным IMG, вот кусок кода:

Код: Выделить всё

<div id="menuguru">
		<ul class="menu_guru">
		<li class="link_guru"><a href="/"><img src="{T_THEME_PATH}/images/features.png" /></a></li>
		<li class="link_guru"><a href="/files/"><img src="{T_THEME_PATH}/images/files.png" /></a></li>
		<li class="link_guru"><a href="/docs/"><img src="{T_THEME_PATH}/images/docs.png" /></a></li>
		<li class="link_guru"><a href="/community/"><img src="{T_THEME_PATH}/images/forums.png" /></a></li>
		<li class="link_guru"><a href="/styles/"><img src="{T_THEME_PATH}/images/styles.png" /></a></li>
		<li class="link_guru"><a href="/mods/"><img src="{T_THEME_PATH}/images/mods.png" /></a></li>
		</ul>
		</div>
А например, изображение глобуса в верхнем левом углу вставляется через css, и он прекрасно кешируется, появляясь практически мгновенно при загрузки страницы.
Так что проблема (я не отрицаю ее наличие) или в твоем браузере, или в твоих руках. Скорее первое, но многоверояно и второе ;)
phpBB2 FAQ
phpBB3 FAQ
Divet
phpBB 1.0.0
Сообщения: 6
Стаж: 18 лет 2 месяца

Re: Как добиться кэширования вставленных картинок?

Сообщение Divet »

Rayden писал(а):Мне как то не интересно, что ты там собираешься терпеть, а что нет.
Где-то в правилах сказано, что модератору можно материться и оскорблять участников форума? Перехожу на "ты". Ты - хам. Про твои интеллектуальные способности скажу ниже.
Rayden писал(а):Ты почитай свои посты, станчала ты утверждаешь, что картинку надо генерить средствами php, чтоб она кешировалась:
Divet писал(а):Гуру рекомендуют картинку не вставлять как обычно ( IMG src="http://lyalyalya.com/lya.gif"> ), а тоже генерировать скриптом.
Демагогия. Ясно сказано, "Гуру рекомендуют". Это не моя рекомендация. Приписываешь мне твои измышления.
Rayden писал(а):К твоему сведению, кнопки вставлены обычным IMG, вот кусок кода:
А например, изображение глобуса в верхнем левом углу вставляется через css
Тебе виднее. Я вставлял в обычный субсильвер2. У тебя может быть совсем другой мод, а может быть Апач настроен так, что перезаписывает заголовки! К сожалению, мой хостер не дает такой возможности.
Rayden писал(а):Так что проблема (я не отрицаю ее наличие) или в твоем браузере,
В браузере? Причем тут браузер, если на одной и той же странице одни графические элемиенты кэшируются, а другие - нет?
Rayden писал(а):или в твоих руках. Скорее первое, но многоверояно и второе ;)
Код CSS, который я написал, я приводил. Вместо оскорблений ты мог указать на ошибку в коде. Но не можешь.

Вернуться в «Стили для phpBB 3.0.x»