Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: sunhater в Jan 05, 2005, 15:32



Титла: Total reload
Публикувано от: sunhater в Jan 05, 2005, 15:32
Здравейте,

Искам да попитам има ли начин в РНР да кажа да се зареди страницата с всичките й там картинки без да ги смуче от Internet cache на browser-а.


Титла: Total reload
Публикувано от: в Jan 05, 2005, 16:07
HTML
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
Ако правилно съм разбрал това ти трябва. Ако добре си спомняям това казва на браузера да не кешшира. Вариант е също да използваш в линка параметър с часа. И това ще доведе то цялостно презареждане т.к. страницата ще е "друга" за браузера.


Титла: Total reload
Публикувано от: rpetrov в Jan 05, 2005, 16:11
Не е нужно да е php.


HTML страницата трябва да съдържа следните два meta-тага:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">


Другия начин е със следния таг:
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 01:01:01 GMT">
Заб:. дата и часа са GMT и RFC1123 формат.


Титла: Total reload
Публикувано от: rpetrov в Jan 05, 2005, 16:19
И така става също:
<META Http-Equiv="Expires" Content="0">

Май недодялания Internet Explorer, не може да без expire.


Титла: Total reload
Публикувано от: sunhater в Jan 05, 2005, 16:31
Тези не действат. Първо пробвах първо да ги вградя като HTML код в <HEAD>:
Примерен код
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

След като не стана пробвах с функция header():
Примерен код
header("Cache-Control: no-cache");
header("Pragma: no-cache");

И пак точи картинките от кеша.
Малко разяснения... Правя админ страница за фото албум, и след като изтрия някоя снимка, която не е последната, thumbinal-а на следващата снимка се преименува както изтрития thumbinal. И после след преглед на thumbs показва изтрития thumbinal.

Добавено: Потърсих на php.net примери на header() и нито един от тях не ми помогна... Явно забраната за кеширане важи само за генерирания HTML текст, но не и за картинките в него.


Титла: Total reload
Публикувано от: rpetrov в Jan 05, 2005, 18:33
Цитат

Потърсих на php.net примери на header() и нито един от тях не ми помогна...

???
А вярно ли е, че нито един от описаните трикове в http://www.php.net/header
не работи за картинките ?


Титла: Total reload
Публикувано от: sunhater в Jan 05, 2005, 18:36
That's right!


Титла: Total reload
Публикувано от: Hapkoc в Jan 06, 2005, 10:41
Как зареждаш самите картинки, в смисъл в база ли ги пазиш някаква, като файлове ли са? Всъщност това, което е важно е в html-а какви са src-тата на img таговете.

Т.е. ако имаш някакъв php скрипт, който ти плюе картинката и е нещо от рода на <img src="image.php?id=10">, тогава трябва да сложиш header() да се вика от image.php, а не от страницата, в която ти се зареждат картинките. :)

Понеже не ми стана ясно какво точно си направил го пиша това, извинявам се ако случая е точно такъв :)

Поздрави


Титла: Total reload
Публикувано от: Йордан в Jan 06, 2005, 11:15
sunhater предполагам че и галерията ще я пуснеш под GPL. Та може да пуснеш суровия сорс код, за да ти помогнем :) Или поне части от него за да стане ясно за кво иде реч


Титла: Total reload
Публикувано от: sunhater в Jan 06, 2005, 14:04
Цитат (Hapkoc @ Ян. 06 2005,11:41)
Т.е. ако имаш някакъв php скрипт, който ти плюе картинката и е нещо от рода на <img src="image.php?id=10">, тогава трябва да сложиш header() да се вика от image.php, а не от страницата, в която ти се зареждат картинките. :)

Да, така ще стане... как не сетих (а го знам). Картинките ги зареждам по традиционния начин - директен URL към картинката. Иначе проблема го реших като копирам картинките, които ще се визуализират във временна директория с уникални имена всеки път.

Гига: Галерията която правя е за личен сайт на музикант и ще ми трябва време да я направя на инсталируем пакет. Но може да стане някой ден. Сайта е http://www.boyanhristov.com.


Титла: Total reload
Публикувано от: Hapkoc в Jan 06, 2005, 15:23
Решението с копиране във временна директория не ми се струва много удачно :)). Кога ще се трият временните файлове?


Титла: Total reload
Публикувано от: sunhater в Jan 06, 2005, 17:19
ами преди да се копират новите се трият старите