balboa 33 Posted April 15, 2017 Report Share Posted April 15, 2017 Всем привет Необходимо сделать вывод 5 рандомных ссылок из общего списка в 60. Т.е чтобы при каждом обновлении страницы были 5 других ссылок. В коде страницы должны быть видны только эти 5 ссылок не весь список. В сети таких скриптов масса, но пока ничего рабочего не нашел. Link to post Share on other sites
Busines 228 Posted April 15, 2017 Report Share Posted April 15, 2017 создаете 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, amigo and balboa 3 Link to post Share on other sites
balboa 33 Posted April 15, 2017 Author Report Share Posted April 15, 2017 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+ страницах, никак не нагружает, все грузится быстро. Спасибо. Работает. Link to post Share on other sites
Busines 228 Posted April 15, 2017 Report Share Posted April 15, 2017 Если что этот php скрипт выводите через include file, а не iframe Link to post Share on other sites
gefard 89 Posted April 15, 2017 Report Share Posted April 15, 2017 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]; ?> Link to post Share on other sites
balboa 33 Posted April 16, 2017 Author Report Share Posted April 16, 2017 Чтобы не создавать еще 1 тему. Коды рандома работают отлично, но если включить кеширование на wordpress, ссылки больше не меняются. Кто-то решал эту проблему? Нужно отключить кеширование для динамического блока с рандомным выводом ссылок. Нашел только вариант для кодов sape, но по аналогии ничего не получается.... Использую плагин: WP Super Cache Link to post Share on other sites
kuzovbmw 587 Posted April 16, 2017 Report Share Posted April 16, 2017 Согласен написал много, просто выгребаете из таблицы ссылки и задаете запрос из бд что рандом и лимит 5 всего 5 строк, где ссылки лежат ваши? Link to post Share on other sites
balboa 33 Posted April 16, 2017 Author Report Share Posted April 16, 2017 5 часов назад, kuzovbmw сказал: Согласен написал много, просто выгребаете из таблицы ссылки и задаете запрос из бд что рандом и лимит 5 всего 5 строк, где ссылки лежат ваши? Ссылки из txt файлов. Сейчас проблема только в настройке обхода кеширования для этого элемента дизайна. Link to post Share on other sites
gefard 89 Posted April 16, 2017 Report Share Posted April 16, 2017 11 час назад, balboa сказал: Коды рандома работают отлично, но если включить кеширование на wordpress, ссылки больше не меняются. Правильно, так и должно быть, если вам нужно что-бы кеш на влиял на рандом ссылок выводите их через АЯКС Link to post Share on other sites
balboa 33 Posted April 16, 2017 Author Report Share Posted April 16, 2017 12 минуты назад, gefard сказал: Правильно, так и должно быть, если вам нужно что-бы кеш на влиял на рандом ссылок выводите их через АЯКС Если вывести через ajax - ссылки будут менять в коде страницы html при каждом обновлении страницы? Link to post Share on other sites
gefard 89 Posted April 16, 2017 Report Share Posted April 16, 2017 Только что, balboa сказал: Если вывести через ajax - ссылки будут менять в коде страницы html при каждом обновлении страницы? да Link to post Share on other sites
balboa 33 Posted April 16, 2017 Author Report Share Posted April 16, 2017 58 минут назад, gefard сказал: да Сделали на ajax. Внешне все ок, а вот код страницы, при обновлении - не меняется. Link to post Share on other sites
seo.player 0 Posted April 29, 2017 Report Share Posted April 29, 2017 В 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+ страницах, никак не нагружает, все грузится быстро. попробывал, получилось только при обновлении страницы вся перелинковка на странице тоже обновляется, можно как-нибудь сделать чтобы перелинковка не была динамичной ? Link to post Share on other sites
seo.player 0 Posted April 29, 2017 Report Share Posted April 29, 2017 динамической* Link to post Share on other sites
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now