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

  • Автор темы 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 страниц?
 

Romashov

экспериментатор
лого.гиф сделать скриптом
или на всех страницах вместо подстановки лого.гиф поставить скрипт
 

Romashov

экспериментатор
В связи с наступлением предновогодних торжеств
Люди уже отмечают потихоньку.
Можно препаден и постпренд файлы прикрепить (если лень 75 хтмлок править) - вывод в буфер, а потом в этому буфере строковую замену сделать.
 

dadoc

Guest
Автор оригинала: Бресь Сергей
Гравицапа
А-а-а-аргуменитрован-н-н-но...
stepler ясно написал
...Не существует ли другого, более красивого способа, занимающего меньше времени, при котором не придется править все 75 страниц ?
Можно сделать logo.gif как php скрипт при этом надо будет добавить апачу
<Location ~ "(logo.gif)">
ForceType application/x-httpd-php
</Location>
а в самом php или динамически генерить картинку или делать редирект на нужную статическую
 

Сергей123

Новичок
Romashov, я не пьющий. Это я переиграл.
dadoc, поправить все файлы займёт минуту максимум. Пока нет пояснений, почему этого не хочется, я бы не стал отбрасывать этот вариант.

Другое дело, стартовать сессию только для этого (если это так), это да...
Но "подгружается случайно выбранный новогодний логотип и сопровождает его во время всего путешествия по сайту" - это сессия.
 

ksnk

прохожий
Бресь Сергей
Вообще-то для этого конкретного случая сессия==куки. Так как по ссылке SID передаваться для большого количества html файлов все равно не будет. Так что установить-проверять куку и в соответствии с ней и выбирать лого.
 

Сергей123

Новичок
Ага, "в соответствии с ней и выбирать лого" PHP в html-файле сможет, а SID передаваться не будет?
 

stepler

Guest
Большое спасибо за ответы, воспользовался способом dadoc'a, так как испытываю затруднения в правке большого числа страниц на сервере. Идея добавить файл изображения в обработку апача была, но я не знал, что можно добавить конкретный файл, а не все файлы *.gif (что небезопасно (форум там, загрузка аватар)). Спасибо!
 

ksnk

прохожий
Бресь Сергей
"Соответствие" будет выбирать php файл, который logo выдает. Он же будет и за кукой следить. А в html записано ... src=logo.gif..., которое никак не сможет пропарсится в ...src=logo.gif?SID=XXX... при выключеных куках, так как автору не хочется (imho :) ) писать в каждом файле <?php ... session_start() ... ?> Так что "есть Куки"=="есть сессии".
 

kyzma

Новичок
Используй 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>
 
Сверху