Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Кеширование
Форумы портала PHP.SU » PHP » Программирование на PHP » Кеширование

Страниц (1): [1]
 

1. Стас - 26 Февраля, 2008 - 16:08:08 - перейти к сообщению
Есть скрипт. Он выводит случайное изображение из папки.

Вставил код:
PHP:
скопировать код в буфер обмена
  1. header('Cache-Control: public, must-revalidate');
  2. header('Vary: Content-ID');
  3. header('Content-ID: ' . crc32($dir . $file_id . sizeof($dir_content)));


Предположим, изображений всего 2. Выбралось первое - загрузилось. Опять первое - из кеша. Второе - загрузилось. Первое - опять грузится! Как избавится от этого?

Надеюсь, понятно описал Улыбка
2. valenok - 26 Февраля, 2008 - 16:54:05 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $images = array('im1.jpg','im2.jpg','im3.jpg','im4.jpg');
  5. $amount = count($images);
  6.  
  7. if( isset($_GET['show']) && ctype_digit($_GET['show'])
  8.   && $_GET['show']>0 && $_GET['show'] < $amount ) :
  9.        
  10.         $im = --$_GET['show'];
  11.     header("Content-type: image/jpeg");
  12.         header("Content-Length: " . filesize($images[$im]));
  13.         fpassthru(fopen($images[$im], 'rb'));
  14.         die();
  15.  
  16. endif;
  17.  
  18.  
  19. echo "<img src='".$_SERVER['PHP_SELF']."?show=".rand(1,$amount)."'>";
  20.  
  21.  
3. Стас - 26 Февраля, 2008 - 18:06:21 - перейти к сообщению
Мне кажется, этот вариант мне не подходит.

Я вызываю скрипт без параметров, и ставить их не желательно.
4. valenok - 26 Февраля, 2008 - 18:20:28 - перейти к сообщению
Почему нежелательно?
5. Стас - 26 Февраля, 2008 - 18:31:32 - перейти к сообщению
Потому что использовать их будет сложно...
Адрес скрипта написан в CSS, обрабатывать его, чтобы вставить случайное число, тоже нежелательно Улыбка
6. valenok - 26 Февраля, 2008 - 21:45:35 - перейти к сообщению
А так не пойдёт?

PHP:
скопировать код в буфер обмена
  1.  
  2. <link rel="stylesheet" href="style.css" type="text/css">
  3. <style>
  4. #div { background: url('im.php?show=rand)}
  5. </style>
  6.  
  7.  

 

Powered by ExBB FM 1.0 RC1