Jump to content
Sign in to follow this  
balboa

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

Recommended Posts

Всем привет

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

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

 

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...