balboa

Рандом 5 случайных ссылок

14 сообщений в этой теме

Всем привет

Необходимо сделать вывод 5 рандомных ссылок из общего списка в 60.

Т.е чтобы при каждом обновлении страницы были 5 других ссылок.

В коде страницы должны быть видны только эти 5 ссылок не весь список.

В сети таких скриптов масса, но пока ничего рабочего не нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

создаете 2 файла - 1 php и 1 txt. Вот PHP:

<?
$data = file("http://ТУТССЫЛКАНАСАЙТ.ру/ТЕКСТОВЫЙФАЙЛ.txt");
$total = count($data);
srand((double)microtime()*1000000);
$mn = 5; // сколько выводить минимум
$mx = 5; // сколько выводить максимум
$text = "";
for($i=0; $i<mt_rand($mn,$mx); $i++){
 $s = mt_rand(0,$total-1);
 $text .= "".$data[$s];
}
echo "$text";
?>

А в текстовом файле размещаете нужные строчки (ваши 60). А этот php будет выводить 5 случайных. На странице. Но если обновить страницу - ссылки поменяются вновь. Скрипт такой стоит у меня на 5000+ страницах, никак не нагружает, все грузится быстро.

gek1, balboa и amigo понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, Busines сказал:

создаете 2 файла - 1 php и 1 txt. Вот PHP:


<?
$data = file("http://ТУТССЫЛКАНАСАЙТ.ру/ТЕКСТОВЫЙФАЙЛ.txt");
$total = count($data);
srand((double)microtime()*1000000);
$mn = 5; // сколько выводить минимум
$mx = 5; // сколько выводить максимум
$text = "";
for($i=0; $i<mt_rand($mn,$mx); $i++){
 $s = mt_rand(0,$total-1);
 $text .= "".$data[$s];
}
echo "$text";
?>

А в текстовом файле размещаете нужные строчки (ваши 60). А этот php будет выводить 5 случайных. На странице. Но если обновить страницу - ссылки поменяются вновь. Скрипт такой стоит у меня на 5000+ страницах, никак не нагружает, все грузится быстро.

Спасибо. Работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если что этот php скрипт выводите через include file, а не iframe

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

5 часов назад, Busines сказал:

создаете 2 файла - 1 php и 1 txt. Вот PHP:


<?
$data = file("http://ТУТССЫЛКАНАСАЙТ.ру/ТЕКСТОВЫЙФАЙЛ.txt");
$total = count($data);
srand((double)microtime()*1000000);
$mn = 5; // сколько выводить минимум
$mx = 5; // сколько выводить максимум
$text = "";
for($i=0; $i<mt_rand($mn,$mx); $i++){
 $s = mt_rand(0,$total-1);
 $text .= "".$data[$s];
}
echo "$text";
?>

А в текстовом файле размещаете нужные строчки (ваши 60). А этот php будет выводить 5 случайных. На странице. Но если обновить страницу - ссылки поменяются вновь. Скрипт такой стоит у меня на 5000+ страницах, никак не нагружает, все грузится быстро.

Что-то много всего написал

<?
$data = file("http://ТУТССЫЛКАНАСАЙТ.ру/ТЕКСТОВЫЙФАЙЛ.txt");
$mx = 5; // сколько выводить
$rand_links = array_rand($data, $mx);
foreach ( $rand_links as $link )
echo $data[$link];
?>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чтобы не создавать еще 1 тему.

Коды рандома работают отлично, но если включить кеширование на wordpress, ссылки больше не меняются.

Кто-то решал эту проблему?

Нужно отключить кеширование для динамического блока с рандомным выводом ссылок.

Нашел только вариант для кодов sape, но по аналогии ничего не получается....

Использую плагин: WP Super Cache

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Согласен написал много, просто выгребаете из таблицы ссылки и задаете запрос из бд что рандом и лимит 5 всего 5 строк, где ссылки лежат ваши?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, kuzovbmw сказал:

Согласен написал много, просто выгребаете из таблицы ссылки и задаете запрос из бд что рандом и лимит 5 всего 5 строк, где ссылки лежат ваши?

Ссылки из txt файлов.

 

Сейчас проблема только в настройке обхода кеширования для этого элемента дизайна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11 час назад, balboa сказал:

Коды рандома работают отлично, но если включить кеширование на wordpress, ссылки больше не меняются.

Правильно, так и должно быть, если вам нужно что-бы кеш на влиял на рандом ссылок выводите их через АЯКС

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, gefard сказал:

Правильно, так и должно быть, если вам нужно что-бы кеш на влиял на рандом ссылок выводите их через АЯКС

Если вывести через ajax - ссылки будут менять в коде страницы html при каждом обновлении страницы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, balboa сказал:

Если вывести через ajax - ссылки будут менять в коде страницы html при каждом обновлении страницы?

да

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
58 минут назад, gefard сказал:

да

 

Сделали на ajax. Внешне все ок, а вот код страницы, при обновлении - не меняется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 15.04.2017 в 3:22 AM, Busines сказал:

создаете 2 файла - 1 php и 1 txt. Вот PHP:


<?
$data = file("http://ТУТССЫЛКАНАСАЙТ.ру/ТЕКСТОВЫЙФАЙЛ.txt");
$total = count($data);
srand((double)microtime()*1000000);
$mn = 5; // сколько выводить минимум
$mx = 5; // сколько выводить максимум
$text = "";
for($i=0; $i<mt_rand($mn,$mx); $i++){
 $s = mt_rand(0,$total-1);
 $text .= "".$data[$s];
}
echo "$text";
?>

А в текстовом файле размещаете нужные строчки (ваши 60). А этот php будет выводить 5 случайных. На странице. Но если обновить страницу - ссылки поменяются вновь. Скрипт такой стоит у меня на 5000+ страницах, никак не нагружает, все грузится быстро.

 

попробывал, получилось только при обновлении страницы вся перелинковка на странице тоже обновляется, можно как-нибудь сделать чтобы перелинковка не была динамичной ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу