Вывод случайных кейвордов из базы на сайте.

J
На сайте с 06.07.2011
Offline
160
5554

Поделитесь пожалуйста готовым скриптом, который бы выдирал из базы случайные кейворды и вставлял рэндомно на страницу вывода.

Для примера: Указываем файлик .txt с кейвордами, соответственно они добавляются в базу. Далее в странице вывода указываем коды, которые в случайном порядке выводятся на сайте.

T
На сайте с 15.11.2011
Offline
120
#1

как вариант:


<?
$frases = file("http://sire.ru/key.txt");
$i=1;
while($i<=4)<!--выведет 4 рандомных строки-->
{
$numero_frases = count($frases);
if ($numero_frases != 0) {$numero_frases--;}
mt_srand((double)microtime()*100000000);
$numero_aleator = mt_rand(0,$numero_frases);
echo "$frases[$numero_aleator]<br /><br />";
$i++;
}
?>
Дешевые VDS - Дешевле некуда! (http://0ll0.ru/4Ta9y)
J
На сайте с 06.07.2011
Offline
160
#2
Tecak:
как вариант:

<?
$frases = file("http://sire.ru/key.txt");
$i=1;
while($i<=4)<!--выведет 4 рандомных строки-->
{
$numero_frases = count($frases);
if ($numero_frases != 0) {$numero_frases--;}
mt_srand((double)microtime()*100000000);
$numero_aleator = mt_rand(0,$numero_frases);
echo "$frases[$numero_aleator]<br /><br />";
$i++;
}
?>

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

HM
На сайте с 14.01.2012
Offline
223
#3

jano, сколько всего кеев, из которых надо выбрать рандомные?

J
На сайте с 06.07.2011
Offline
160
#4
hakuna matata:
jano, сколько всего кеев, из которых надо выбрать рандомные?

Примерно 30k

HM
На сайте с 14.01.2012
Offline
223
#5
jano:
Примерно 30k

Тогда не парься и бери из файла, например как написали выше.

J
На сайте с 06.07.2011
Offline
160
#6
hakuna matata:
Тогда не парься и бери из файла, например как написали выше.

У меня есть код существенно меньше:

<? echo $text[array_rand($text=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES))]; ?>

Нагрузка на сервер ощущается, когда боты начинают ходить или дело в коде? Всё же я думаю сильно можно разгрузить сервер, если все кейворды закинуть в базу.

LEOnidUKG
На сайте с 25.11.2006
Offline
1731
#7
У меня есть код существенно меньше:

Сколько раз придуманный мной код вызывается на странице ? :)

---------- Добавлено 11.01.2015 в 22:54 ----------

если все кейворды закинуть в базу.

30К? Не разгрузите именно для этой задачи.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
J
На сайте с 06.07.2011
Offline
160
#8
LEOnidUKG:
Сколько раз придуманный мной код вызывается на странице ? :)

---------- Добавлено 11.01.2015 в 22:54 ----------



30К? Не разгрузите именно для этой задачи.

Примерно 30 раз.

Ещё раз спасибо за рабочий код. ))

---------- Post added 11-01-2015 at 19:57 ----------

jano:
Примерно 30 раз.
Ещё раз спасибо за рабочий код. ))

Вот смотрю, где-то есть и 300 раз.

LEOnidUKG
На сайте с 25.11.2006
Offline
1731
#9
jano:
Примерно 30 раз.
Ещё раз спасибо за рабочий код. ))

Тогда делайте по другому.

В начале страницы:

<?

$text=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)); // Считываем массив

shuffle($text); // Перемешиваем

?>

Далее где нужно уже расставляете:

<? echo $text[0];?>

<? echo $text[1];?>

<? echo $text[2];?>

........

<? echo $text[30];?>

Сколько уже вам надо.

---------- Добавлено 11.01.2015 в 23:00 ----------

Если количество раз не известно:

<?

$text=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)); // Считываем массив

?>

Далее где нужно уже расставляете:

<? shuffle($text); echo $text[0];?>

<? shuffle($text); echo $text[0];?>

<? shuffle($text); echo $text[0];?>

........

<? shuffle($text); echo $text[0];?>

тем самым мы не будем дёргать файл с диска много раз.

И я не ошибся, везде 0 надо ставить в таком варианте.

J
На сайте с 06.07.2011
Offline
160
#10
LEOnidUKG:
Тогда делайте по другому.

В начале страницы:

<?
$text=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)); // Считываем массив
shuffle($text); // Перемешиваем
?>

Далее где нужно уже расставляете:

<? echo $text[0];?>
<? echo $text[1];?>
<? echo $text[2];?>
........
<? echo $text[30];?>

Сколько уже вам надо.

---------- Добавлено 11.01.2015 в 23:00 ----------

Если количество раз не известно:

<?
$text=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)); // Считываем массив

?>

Далее где нужно уже расставляете:

<? shuffle($text); echo $text[0];?>
<? shuffle($text); echo $text[0];?>
<? shuffle($text); echo $text[0];?>
........
<? shuffle($text); echo $text[0];?>

тем самым мы не будем дёргать файл с диска много раз.
И я не ошибся, везде 0 надо ставить в таком варианте.

Бывает, что нужно использовать не только один файлик с кейвордыми, то указывать соответственно нужно так к примеру?

<?

$text2=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)); // Считываем массив

?>

и выводим

<? shuffle($text2); echo $text2[0];?>

---------- Post added 11-01-2015 at 20:21 ----------

jano:
Бывает, что нужно использовать не только один файлик с кейвордыми, то указывать соответственно нужно так к примеру?


<?
$text2=file("/home/keyword.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)); // Считываем массив

?>

и выводим
<? shuffle($text2); echo $text2[0];?>

Т.е. какой будет правильным код, если учитывать, что на странице будет использоваться несколько файлов: keyword1.txt, keyword2.txt, keyword3.txt

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий