Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Flash и кеширование (http://www.flasher.ru/forum/showthread.php?t=115580)

GRiNGA 03.09.2008 20:10

Flash и кеширование
 
Здравствуйте,
у меня основной флеш ролик загружает в себя второстепенные ролики, которые постоянно обновляются.
где-то вычитал, что
запретить кеширование explorer`у можно через
Код:

<?php
  header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
  header('Cache-Control: no-store, no-cache, must-revalidate');
  header('Cache-Control: post-check=0, pre-check=0', FALSE);
  header('Pragma: no-cache');
?>

Но ето не помогло.
я так думаю, что ето из за того что ето относится только к главному ролику.
А как главному ролику запретить кешировать второстепенные ролики?
Вобщем, помогите мне пожалуйста решить проблему с кешированием.

MrPoma 03.09.2008 20:12

Код:

var url:String = 'movie.swf?' + (new Date()).getTime();

GRiNGA 03.09.2008 20:26

А это точно помогает? извините за такой вопрос...

iNils 03.09.2008 20:54

Точно

GRiNGA 03.09.2008 23:00

а с loadMovie ето тоже работает?

MrPoma 03.09.2008 23:07

А Вы с чем до этого пробовали?

GRiNGA 03.09.2008 23:20

ни с чем... просто думал про что-то другое. Наверное про getURL... ))
как увидел конструкцию loadMovie - почему-то испугался, что не поможет.
помогло.
спасибо.

Dizainoff 01.11.2008 19:44

Скорее всего поздновато но все же.
php код для обновления swf только тогда когда он действительно был изменен

Код:

<?php
$swf_file = "filename.swf";

if(file_exists($swf_file)){
        $lastmodify = filemtime($swf_file);
       
        $last_modified                =        gmdate('D, d M Y H:i:s',        $lastmodify) . ' GMT';
        $if_modified_since        =        preg_replace('/;.*$/', '',        $_SERVER['HTTP_IF_MODIFIED_SINCE']);
       
        if($if_modified_since){
                if ($if_modified_since == $last_modified) {
                        header("HTTP/1.1 304 Not Modified");
                        header("Pragma: public");
                        header("Expires: 0");
                        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                        header( 'Cache-Control: post-check=0, pre-check=0', false );
                        header( 'Pragma: no-cache' );                                       
                        exit();
                }                       
        }
        $last_modified                =        gmdate('D, d M Y H:i:s', $lastmodify) . ' GMT';
        header('Content-Type: application/x-shockwave-flash');
        header("Last-Modified: ".$last_modified);
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        header( 'Cache-Control: post-check=0, pre-check=0', false );
        header( 'Pragma: no-cache' );
       
        readfile($swf_file);
       
}
exit();
?>

Добавлено через 43 часа 0 минут
Цитата:

Сообщение от MrPoma (Сообщение 762106)
Код:

var url:String = 'movie.swf?' + (new Date()).getTime();

Вы меня конечно извините но как такой бред можно советовать — Такой метод засоряет папку с временными файлами. Контроль над кэшированием должен быть со стороны сервера по средствам php, asp и т.д. Тем более в сети есть бесплатные хостинги с потдержкой php, да и платные сейчас не проблема.

P.S. На один пост может бы я и закрыл глаза но этот метод вы суете везде даже в FAQ - ЖУТЬ

alex_past 04.11.2008 15:48

Цитата:

Сообщение от Dizainoff (Сообщение 774299)
Такой метод засоряет папку с временными файлами.

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

opasnoste 04.11.2008 19:21

Лучше не к дате последнего изменения привязываться, а к CRC (или MD5) самого мувика.


Часовой пояс GMT +4, время: 14:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.