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

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!

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

Сообщение Divet 23.07.2008 22:35

Решил слегка изменить стиль, добавил две картинки - анимированные гифки, каждая по 80 кб примерно. Они не кэшируются браузером. В результате у пользователей, активно посещающающих форум, накапливается трафик. Помогите плиз решить эту проблему. Пытался найти информацию в сети - нашел указание на то, что не отдается время модификации файлов картинок и поэтому браузер не кэширует их.
Картинки я вставлял с абсолютными путями в файл styles\subsilver2\template\overall_footer.html
Вопрос: а как сделано, что кэшируется логотип phpBB, который в верхнем левом углу форума? Сделано это как-то хитро - я пытался разобраться в php коде, но не особо преуспел... Просветите плиз, что нужно делать, если есть картинка, мы хотим ее вставить, как нужно это правильно сделать, чтобы отдавалось время модификации?
Divet
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 23.07.2008 22:18


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

Сообщение FladeX 23.07.2008 23:03

Мало что понял...
Но насколько я понимаю, кеширование в phpBB совсем другое, вы же спрашиваете про кеширование на стороне клиента. А оно зависит от настроек браузера конечного пользователя.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
Интеграция phpBB 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.19
 
Сообщения: 1291
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

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

Сообщение Rayden 23.07.2008 23:18

попиши картинку через css и она должа будет кешироваться.
А вообще FladeX прав, многое зависит от настроек браузера.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 3001
Зарегистрирован: 27.06.2005 1:07

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

Сообщение Divet 23.07.2008 23:58

Ну да, я имею в виду кэширование картинок браузером! Но отнюдь не все зависит от настроек браузера пользователя, увы. Если у картинки нет в HTTP заголовке такого параметра, как время модификации, то браузер не будет брать ее из своего кэша, а будет каждый раз загружать с сайта! Почему этот параметр исчезает, если картинка вставлена в страницу, генерируемую php скриптом? - Я читал, что это особенность языка PHP!!! Гуру рекомендуют картинку не вставлять как обычно ( IMG src="http://lyalyalya.com/lya.gif"> ), а тоже генерировать скриптом. Но к сожалению, эти гуру не объясняют подробно, как это сделать...
За совет вставить в css - спасибо, сейчас попробую это сделать. О результатах отпишусь.
Divet
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 23.07.2008 22:18

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

Сообщение FladeX 23.07.2008 23:59

Divet писал(а):Если у картинки нет в HTTP заголовке такого параметра, как время модификации, то браузер не будет брать ее из своего кэша, а будет каждый раз загружать с сайта!

можно пример такой реализации?
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
Интеграция phpBB 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.19
 
Сообщения: 1291
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

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

Сообщение Divet 24.07.2008 1:48

Увы... Использование 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 и т. д. Кликните каждую правой кнопкой и посмотрите свойства! Создан - Недоступно, Изменен - Недоступно, Размер - Недоступно, Тип - Недоступно! Вот эти кнопки и не будут кэшироваться. А например вверху кнопки "Возможности", "Файлы", "Документация", "Конференция" - в их свойствах все видно - и когда создан, и когда изменен, и размер и тип. Они будут кэшироваться.

Уважаемый Гуру! Хелп ми! Как вставить картинку, чтобы она вела себя как эти кнопки вверху, а не как те, что внизу???
Divet
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 23.07.2008 22:18

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

Сообщение FladeX 24.07.2008 11:08

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 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.19
 
Сообщения: 1291
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

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

Сообщение RedNaxi 24.07.2008 12:46

не совсем. когда создан и изменен нельзя задать этими параметрами. размер картинки (в смысле 'вес'), насколько я понимаю - тоже.
Программирую всякую чушь за еду.
Контакт
Над этим, и не только, я когда-то работал.
Аватара пользователя
RedNaxi
phpBB 2.0.18
 
Сообщения: 1169
Зарегистрирован: 21.02.2007 3:05
Откуда: BMK :)

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

Сообщение Rayden 24.07.2008 12:52

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

Фигня, у w3c и мастерхоста все доступно, потому что это готовые картинки, а у счетчиков нет, потому что картинка генерится на лету.

Добавлено спустя 2 минуты 27 секунд:
Divet писал(а):"Сохранить фон как" - Имя файла - Безымянный, Тип файла - Точечный рисунок (*.bmp). То есть браузеру не передается даже content-type?

Очисти кеш своего браузера, он похоже переполнился. Такое на ИЕ бывает. Тогда он любые картинки как бмп начинает воспринимать.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 3001
Зарегистрирован: 27.06.2005 1:07

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

Сообщение Divet 24.07.2008 13:48

У W3C таки недоступно! Хотя это не счетчик!
Вот что генерится на лету - это как раз близко к истине, потому что страницы форума на PHP тоже генерятся на лету! Со всеми вытекающими. Но неужели нет способа все-таки отдать нужные данные?
Кэш не переполнился, его размер был 30 Мб при 128 разрешенных, но я его очистил. Естественно, ничего не изменилось :) Причем во всех трех известных браузерах одна и та же картина.
Divet
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 23.07.2008 22:18

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

Сообщение Rayden 24.07.2008 16:13

Divet писал(а):У W3C таки недоступно! Хотя это не счетчик!

Млять!
Рисунок PNG
http://www.w3.org/Icons/valid-xhtml10-blue
2026 байт
88х31
18.07.2008


Пользуйся нормальным браузером.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 3001
Зарегистрирован: 27.06.2005 1:07

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

Сообщение Divet 24.07.2008 17:10

Rayden писал(а):Млять! Пользуйся нормальным браузером.

Вы чего так нервничаете? Я не собираюсь терпеть от Вас завуалированный мат! По теме нечего сказать? Проблему вообще отрицаете? Код php, видно, никогда не правили? Или говорите по теме или лучше промолчите!
Ваш совет вставить в CSS оказался неверным!
Повторяю вопрос к гуру (если они тут есть):
Как вставить картинку в страницу форума, генерируемую php-скриптом, чтобы отдавались HTTP заголовки?
Divet
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 23.07.2008 22:18

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

Сообщение FladeX 24.07.2008 17:19

Divet писал(а):Как вставить картинку в страницу форума, генерируемую php-скриптом, чтобы отдавались HTTP заголовки?

какие заголовки у изображений?
Попробуйте другим браузером, настройте там кэш, и посмотрите, останется ли картинка после посещения странички.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
Интеграция phpBB 3.0.0 и Slaed 2.5 lite
Сверстал стилей для phpBB: 5
Аватара пользователя
FladeX
phpBB 2.0.19
 
Сообщения: 1291
Зарегистрирован: 02.06.2007 23:44
Откуда: Саранск

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

Сообщение Rayden 24.07.2008 18:40

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
Аватара пользователя
Rayden
Модератор
Модератор
 
Сообщения: 3001
Зарегистрирован: 27.06.2005 1:07

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

Сообщение Divet 24.07.2008 19:41

Rayden писал(а):Мне как то не интересно, что ты там собираешься терпеть, а что нет.

Где-то в правилах сказано, что модератору можно материться и оскорблять участников форума? Перехожу на "ты". Ты - хам. Про твои интеллектуальные способности скажу ниже.

Rayden писал(а):Ты почитай свои посты, станчала ты утверждаешь, что картинку надо генерить средствами php, чтоб она кешировалась:
Divet писал(а):Гуру рекомендуют картинку не вставлять как обычно ( IMG src="http://lyalyalya.com/lya.gif"> ), а тоже генерировать скриптом.

Демагогия. Ясно сказано, "Гуру рекомендуют". Это не моя рекомендация. Приписываешь мне твои измышления.

Rayden писал(а):К твоему сведению, кнопки вставлены обычным IMG, вот кусок кода:
А например, изображение глобуса в верхнем левом углу вставляется через css

Тебе виднее. Я вставлял в обычный субсильвер2. У тебя может быть совсем другой мод, а может быть Апач настроен так, что перезаписывает заголовки! К сожалению, мой хостер не дает такой возможности.

Rayden писал(а):Так что проблема (я не отрицаю ее наличие) или в твоем браузере,

В браузере? Причем тут браузер, если на одной и той же странице одни графические элемиенты кэшируются, а другие - нет?

Rayden писал(а):или в твоих руках. Скорее первое, но многоверояно и второе ;)

Код CSS, который я написал, я приводил. Вместо оскорблений ты мог указать на ошибку в коде. Но не можешь.
Divet
phpBB 1.0.0
 
Сообщения: 6
Зарегистрирован: 23.07.2008 22:18

След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0