Каждый раз новая иконка RSS
Суббота, Апрель 3, 2010 17:17Добрый день. Сегодня у меня какой-то прекрасный день.
За 30 минут добавил RSS ленту в 50 агрегатов, вот теперь радуюсь. Думал раньше, что просто добавил ну и пускай там лежит, а оказывается с каждого поста имеется ссылка, да ладно. В этом посте я расскажу как сделать, чтобы при каждой новой загрузке страницы, была разная иконка RSS подписки.
Идею динамической иконки я нарыл в блоге DimoninG’а
Для начала нужно определиться как это будем делать. Я предлагаю, используя язык php, так как это самое простое, но придется рассказать как сделать и на javascript. Ну php ясное дело всем подходит у кого стоит ВордПресс, а javascript для статических, где нет поддержки серверных языков программирования.
Теперь пара слов о реализации. Можно было бы сделать вывод по порядку, но проблема в том, где хранить порядок, следовательно лучше случайный вывод. В php с помощью функции rand() генерируем случайное число в необходимом диапазоне. А в javascript’е с помощью случайность получаем методом даты get.Seconds(), ну а далее вставляем в адрес картинки. Кстати иконки RSS должны быть пронумерованы в следующем виде rss*.gif или rss*.png, где звездочка номер. P.S. нумерация с нуля. Ну далее собственно и сама реализация.
PHP
<?php
$number = 2;
$random = rand(0, $number-1);
echo $random;
?>
JavaScript
<SCRIPT LANGUAGE=»JavaScript»>
var number = 2;
var now = new Date();
var random = (now.get.Seconds())%number;
document.write(random);
</SCRIPT>
Теперь выбираем один из примеров и вставляем в адрес картинки ‹img src=»адрес/rss*.gif»›, где вместо звездочки код. Надеюсь я понятно объяснил принцип работы.
6th Апрель 2010 в 19:32
Вот простенькая функция для рандомного вывода любой картинки из указанной папки.
Название файла значения не имеет)
function rand_img($dir){
$d = dir($dir);
while (false !== ($entry = $d->read())){
if($entry!=’..’ and $entry!=’.')$images[]=$entry;
}
$d->close();
return $images[rand(0,count($images))];
}