Это уже хорошо, что близко. Почитайте про полный тест: http://ru.wikipedia.org/wiki/Тестирование_псевдослучайных_последовательностей
Dreammaker, 5 000 000 выборок сделайте, если вы смотрите от 1 до 5 делаете и проанализируйте результат. А так почитайте http://ru.wikipedia.org/wiki/Тестирование_псевдослучайных_последовательностей
А так ещё раз повторю, все генераторы из всех языков и т.п. не важно, основываются на биосном времени компьютера, остальное лишь математические формулы, которые тягаются лишь в том "кто равномернее" расположит цифры в ряду.
Если вы мне не верите, почитайте книжки, изучите вопрос. НО опять повторяю, ВСЕ примеры, которые вы приводите это простые формулы, просто вы думаете, что если будете записывать, куда-то что-то, то это будет круче. А вы возьмите миллиарды выборок и увидите, что разницы НИКАКОЙ.---------- Добавлено 24.01.2012 в 18:24 ----------
Какого порядка то? У вас 1 клиент пришёл и забыл ваш сайт, пришёл с другого IP с другого браузера ОПА опять первый баннер. Но и это не важно.
У вас порядок это 1 2 3 4 5, а в генераторе это будет 3 5 2 1 4, но КАКАЯ разница то? но они будут эти 5-ть в любом случаи.
Мы убили на эти случайные числа целый месяц поставляя разные формулы и доказывая, что компьютерный генератор спевдослучайных чисел работает. А вы тут все собрались и давайте обратное доказывать ну ппц. Почитайте, изучите вопрос, перед тем как что-то доказывать.
Тогда это обычный рандом. Код самый простой и быстрый я уже дал на первой странице.---------- Добавлено 24.01.2012 в 14:36 ----------
$banners = array( 'код первого баннера', 'код второго', ... ); $index = intval( file_get_contents('somefile') ); //--Получаем индекс из файла $bannr = $banners[$index]; //--Получаем баннер по индексу file_put_contents( 'somefile', ++$index % count($banners) ); //--Записываем следующий индекс в файл
Это тоже самое, что и rand, уж поверьте мне, мы в универе сами делали эти генераторы случайных чисел.
p.s. оговорюсь, что это называется ПСЕВДО-случайные числа, но тесты проходят, по заданным параметрам.
Они могут вам этим кодом закинуть всё что угодно на сайт, поэтому не надо рисковать.
Показы тут НИ ПРИЧЁМ, всё работает идеально и стремящегося к бесконечности нет т.е. все генераторы случайных чисел тестируются и довольно быстро. Тут нужно засечь КОМУ мы будем это показывать.
А вообще ТС, я бы лично не замарачивался, это лишняя нагрузка и хлопоты, сделайте рандом и всё.
futuristian, ещё раз для не понятливых.
Генератор случайных чисел должен быть РАВНОМЕРНЫМ, если он НЕ РАВНОМЕРНЫЕ это НЕ генератор случайных чисел.
rand() в PHP это РАВНОМЕРНЫЙ генератор случайных чисел.
Это значит,
Дано:
1 человек
1 000 000 объявлений
1 000 000 минут
1 человек увидит за 1 000 000 минут все 1 000 000 объявлений, без повторения.
Тут проблема в другом, что такое человек, как его определить?
ВОТ! Это значит нужна система, которая будет записывать IP пользователя или его куки и вносить туда какие баннеры были показаны.
Почитайте, что такое рандом а?
Это и есть равномерный показ за большое количество выборки. Если он будет не равномерный, это не рандом, а глючная фигня.---------- Добавлено 24.01.2012 в 03:44 ----------Так что смело в файлик 1 строчка = 1 скрипт
и вывод:
echo $text[array_rand($text=file("banner.txt"))];
Это устарело.
Достаточно таково:
function getip()
{
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip = getenv("HTTP_CLIENT_IP");
elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
elseif (!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return($ip);
}
Ну и что это за тупой спам?
Всё очень просто.
Заходим на страницу, где отображаются добавленные статьи: http://www.uwiki.ru/pages.html
И что мы видим в разделе: Последние публикации?
Правильно, дату: 27.07.2010. А сейчас у нас какой год на дворе? Вот-вот, и так ВСЕ я проверяю руками. 🍿