Sign in to follow this  
Followers 0
balboa

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

14 posts in this topic

Всем привет

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

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

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

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

Share this post


Link to post
Share on other sites

создаете 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+ страницах, никак не нагружает, все грузится быстро.

balboa, gek1 and amigo like this

Share this post


Link to post
Share on other sites
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+ страницах, никак не нагружает, все грузится быстро.

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

 

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];
?>

 

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
5 часов назад, kuzovbmw сказал:

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

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

 

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

Share this post


Link to post
Share on other sites
11 час назад, balboa сказал:

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

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

Share this post


Link to post
Share on other sites
12 минуты назад, gefard сказал:

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

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

Share this post


Link to post
Share on other sites
Только что, balboa сказал:

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

да

 

Share this post


Link to post
Share on other sites
58 минут назад, gefard сказал:

да

 

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

Share this post


Link to post
Share on other sites
В 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+ страницах, никак не нагружает, все грузится быстро.

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.