Отображение случайного изображения.

  • Автор темы Автор темы stepler
  • Дата начала Дата начала

stepler

Guest
Отображение случайного изображения.

Есть сайт, состоящий из 75 html страниц. На каждой прописан код верхнего логотипа <img src="logo.gif">.
В связи с наступлением предновогодних торжеств , я написал такой код на главной странице:
PHP:
<?
$result = rand(1, 10);  
switch ($result)  
  {  
  case 1:   
     copy ("img/new_year/first.gif", "logo.gif");   
     break;  
  case 2:   
     copy ("img/new_year/second.gif", "logo.gif");   
     break;  
  case 3 : // и так далее 
}
?>
Таким образом, каждый раз пользователю подгружается случайно выбранный новогодний логотип и сопровождает его во время всего путешествия по сайту (если в это же время не зайдет другой пользователь).
Процесс копирования занимает достаточно длительное время и сам метод какой-то нерациональный. Не существует ли другого, более красивого способа, занимающего меньше времени, при котором не придется править все 75 страниц?
 
лого.гиф сделать скриптом
или на всех страницах вместо подстановки лого.гиф поставить скрипт
 
В связи с наступлением предновогодних торжеств
Люди уже отмечают потихоньку.
Можно препаден и постпренд файлы прикрепить (если лень 75 хтмлок править) - вывод в буфер, а потом в этому буфере строковую замену сделать.
 
Автор оригинала: Бресь Сергей
Гравицапа
А-а-а-аргуменитрован-н-н-но...
stepler ясно написал
...Не существует ли другого, более красивого способа, занимающего меньше времени, при котором не придется править все 75 страниц ?
Можно сделать logo.gif как php скрипт при этом надо будет добавить апачу
<Location ~ "(logo.gif)">
ForceType application/x-httpd-php
</Location>
а в самом php или динамически генерить картинку или делать редирект на нужную статическую
 
Romashov, я не пьющий. Это я переиграл.
dadoc, поправить все файлы займёт минуту максимум. Пока нет пояснений, почему этого не хочется, я бы не стал отбрасывать этот вариант.

Другое дело, стартовать сессию только для этого (если это так), это да...
Но "подгружается случайно выбранный новогодний логотип и сопровождает его во время всего путешествия по сайту" - это сессия.
 
Бресь Сергей
Вообще-то для этого конкретного случая сессия==куки. Так как по ссылке SID передаваться для большого количества html файлов все равно не будет. Так что установить-проверять куку и в соответствии с ней и выбирать лого.
 
Ага, "в соответствии с ней и выбирать лого" PHP в html-файле сможет, а SID передаваться не будет?
 
Большое спасибо за ответы, воспользовался способом dadoc'a, так как испытываю затруднения в правке большого числа страниц на сервере. Идея добавить файл изображения в обработку апача была, но я не знал, что можно добавить конкретный файл, а не все файлы *.gif (что небезопасно (форум там, загрузка аватар)). Спасибо!
 
Бресь Сергей
"Соответствие" будет выбирать php файл, который logo выдает. Он же будет и за кукой следить. А в html записано ... src=logo.gif..., которое никак не сможет пропарсится в ...src=logo.gif?SID=XXX... при выключеных куках, так как автору не хочется (imho :) ) писать в каждом файле <?php ... session_start() ... ?> Так что "есть Куки"=="есть сессии".
 
Используй JavaScript для той же проблемы и не трогай мозги. Получится красивше и без "замухрений".

Намекну:
<SCRIPT LANGUAGE ="JavaScript"><!--
var s1=""; // Имя картинки
pict_number = 200; //Количество картинок

var i=Math.floor(Math.random()*pict_number); //выбираем картинку случайным образом

s1="images/gall/ph"+i+".jpg"; // в этом случае картинка имеет
имя "ph" + [от 0 до 200]

document.images["img1"].src = s1; //Отображаем картинку
// --></SCRIPT>
 
Сверху