X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Скрипт вывода рандомных цитат, пользуйтесь :)
Banderas
Banderas
Topic Starter сообщение 6.5.2009, 9:36; Ответить: Banderas
Сообщение #1


Я много чего получил на форуме masterwebs.ru, пришло время отдавать должное =) Решил написать скрипт вывода рандомной цитаты :P Постараюсь изложить все подробно и доступно для новичков.

Для начала, создаем текстовый документ, где будут находиться наши цитаты. Каждую цитату нужно прописывать с новой строки. Потом сохраняем файл, называем его quote.txt. У меня все это дело выглядит так:
«...без несовершенства неощутимо и счастье!»
«...каждый человек считают страдания, выпавшие на его долю, величайшими»
«Большинство людей счастливы настолько, насколько они решили быть счастливыми»
«В счастье будь умерен, в несчастье разумен. »
«В этом мире многие... несчастны, но только по причине неумения любить, любить другое существо. »
«Важный вопрос, который следует разрешить "на практике": можно ли быть счастливым и одиноким?»


Далее пишем сам скрипт. Называем его, допустим, script.php. Скрипт очень легкий и понятный:
<?php
$qouters = file("quotes.txt"); // создаем переменную, которая состоит из вложений (цитат) файла quotes.txt
$k = mt_rand (0, 99); // переменная $k делает рандомное число от 0 до 99 (для лучшего рандома цитат)
mt_srand (time()+(double)microtime()*$k*95987); // задаем рандомное число
$i = mt_rand (0, (count($quoters)+1)); // даже не знаю как обьяснить, наверно сам не очень понимаю...(((

echo "$qouters[$i]"; // выводим цитату из строки, которая указала переменная $i
?>


У нас практически все готово. Но вставить этот скрипт в простой html нельзя. Так что создаем файлик не page.html, a page.php. У меня он выгладит так:
<html>
<head>
<title>Твой сайт</title>
</head>
<body style="margin: 50px">
<table style="background-color: #fff4ce; width: 100%; height: 100%; text-align: center;">
  <tr>
     <td style="font-size: 24px;">Рандомная цитата</td>
  </tr>
  <tr>
     <td><?php include("script.php"); ?></td>
  </tr>
</table>
</body>
</html>


Надеюсь что этот "мини-урок" кому-то помог :P

Автор: Banderas
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shtil
shtil
сообщение 6.5.2009, 11:53; Ответить: shtil
Сообщение #2


также из этого урока можно зделать рандомный вывод картинок, просто нужно в блокноте цитаты заменить на
<img src='1.jpg'>
<img src='2.jpg'>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Robot-sgibatel
Robot-sgibatel
сообщение 6.5.2009, 12:18; Ответить: Robot-sgibatel
Сообщение #3


А можно вместо <?php include("script.php"); ?> писать сам скрипт?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
shtil
shtil
сообщение 6.5.2009, 12:23; Ответить: shtil
Сообщение #4


можно, но я бы советовал держать в отдельном файле :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 6.5.2009, 13:24; Ответить: Banderas
Сообщение #5


Вот ротатор баннеров.
Текстовый файл banners.txt
<a href="url"><img src="url_image"></a>
<a href="url2"><img src="url_image2"></a>
<a href="url3"><img src="url_image3"></a>


Код php - rotator.php
<?php
$ban= file("quotes.txt");
$k = mt_rand (0, 99);
mt_srand (time()+(double)microtime()*$k*95987);
$i = mt_rand (0, (count($ban)+1));

echo "$ban[$i]";
?>


Можно и по-другому, но это надо пробовать...

пс. если что не так - исправьте.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 6.5.2009, 22:14; Ответить: ZiTosS
Сообщение #6


Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.

Вообще бы достаточно было написать так:
<?php
$qoutes = file("quotes.txt"); // считываем в массив строки из файла quotes.txt
mt_srand(); // сбиваем рандомный счётчик(слабо)
$i = mt_rand(0, count($quotes)); // вернуть в переменную рандомное число от 0 до количества строк в файле

echo "$qoutes[$i]"; // выводим рандомную цитату, которая находится на строке N = $i +1, где N -номер строки
?>

А так молодчинка :rolleyes: Уже сам что-то да пишешь, это хороший результат


(shtil) *
можно, но я бы советовал держать в отдельном файле :)

Держать в отдельном файле это не выход. Это только для начала так пишут. А попробуй-ка таким способом написать сложную систему, зависящую от множества параметров, очень большим количеством настроек. И за всем этим надо уследить, где-то объединить. Поэтому тьакая простая система вставки никак не прокатит. Такие проекты уже пишутся на основе инкрементного программирования. То есть по нарастающей.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 6.5.2009, 22:43; Ответить: Banderas
Сообщение #7


2*ZiTosS* спасибо!

Это
$k = mt_rand (0, 99);
mt_srand (time()+(double)microtime()*$k*95987);

я прописывал для лучшего сбивания счетчика рандома =)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 6.5.2009, 22:56; Ответить: ZiTosS
Сообщение #8


Banderas, я знаю... Я показал упрощенный вариант. Твой нужен при малом числе цитат, чтобы разброс рандомных чисел был велик. При большом количестве цитат, получить тоже рандомное число в моём коде не так-то велико.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Скрипт поисковика видео StrongTube
3 3josoft 1561 14.8.2023, 14:45
автор: 3josoft
Открытая тема (нет новых ответов) Скрипт приема платежей p2p с карты на карту card2card
Скрипт приема платежей p2p с карты на карту card2card
15 zladey1986 7780 26.3.2023, 8:54
автор: Palundra
Горячая тема (нет новых ответов) Superobmen.biz - сервис ручного ввода и вывода Приват24 (грн) <--> WM, ЯД, QIWI
удобство, низкие комиссии, скидки постоянным клиентам!
52 Sostavitel 38539 10.2.2023, 1:04
автор: Sostavitel
Открытая тема (нет новых ответов) Продам скрипт перевода постов и комментариев
4 Tutich 749 19.1.2023, 17:23
автор: Tutich
Открытая тема (нет новых ответов) Битрикс скрипт нативной установки
3 Nemo 2439 20.11.2022, 10:09
автор: Webmaster24


 



RSS Текстовая версия Сейчас: 29.3.2024, 12:06
Дизайн