Сделал тесты на крупном проекте. Скажу так, не делайте как я писал, и никогда не мешайте в цикле или просто много раз shuffle($text) не нужно делать.
С каждым таким перемешиванием, почему-то массив увеличивается в разы, и операция с каждым разом всё идёт тормознее и тормознее. Я не видел исходники данной функции, но могу сказать, что жрёт она ресурсов достаточно много, если пользоваться ей часто.
---------- Добавлено 21.01.2015 в 18:47 ----------
<? echo $text[rand(0,$col_str)]."<br />"; echo $text[rand(0,$col_str)]."<br />"; echo $text[rand(0,$col_str)]."<br />"; ?> ."<br />" - это убрать если перенос строки не нужен
рекомендую заменить rand на mt_rand
1. mt_rand более рандомный и правильный
2. Из документации функции RAND:
Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры min и max, или обратитесь к функции mt_rand().
Потому, что Вова ты за 3-и года не научился понимать, что такое ссылочный взрыв, там не в ссылках дело, а в анкорах. И не научился различать ссылки и бэки. Ссылок может быть миллион, а бэк всего лишь 1.
Скорее всего именно так.
Сделано, чтобы сами себя не ддосили :)
Ещё лучше уточню.
site.ru и "PHP скрипт переехал" это один и тот же аккаунт и сервер?
Посыпаю голову пеплом, не прочитал это.
Ёмаё ТС :)
Строчку:
$url = 'http://site.ru/api/file.json';
замените на:
$url = $_SERVER['DOCUMENT_ROOT'].'/api/file.json';
Вы философ :)
Ну если думаете так решиться ваша проблема... главное, чтобы вам было хорошо.
Чего там переделывать?
Напишите функцию curl их вагон и маленькая тележка и просто замените file_get_contents на эту функцию. Дело 5-ти минут.
т.е. этого нету в главном списке "Скидки и бонусы" это чисто рассылка пользователям внутренняя?
Не увеличивается.
Убедись сам.
Я не хочу синтетических тестов.
Скажу так, была замена в БД. В БД 35 000 записей.
Массив из файла считывался 1 раз (25 МБ) и каждый раз перемешивался.
Вся операция проходила 35 минут
Это ужасно долго.
Далее я убрал перемешивания и заменил на mt_rand. Операция прошла за 48 секунд.
Отпишусь тут по поводу shuffle($text);
Сделал тесты на крупном проекте. Скажу так, не делайте как я писал, и никогда не мешайте в цикле или просто много раз shuffle($text) не нужно делать.
С каждым таким перемешиванием, почему-то массив увеличивается в разы, и операция с каждым разом всё идёт тормознее и тормознее. Я не видел исходники данной функции, но могу сказать, что жрёт она ресурсов достаточно много, если пользоваться ей часто.
---------- Добавлено 21.01.2015 в 18:47 ----------
Так же тут уже писали вариант:
$text=file("file.txt",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
$col_str = count($text)-1;
?>
<?
echo $text[rand(0,$col_str)]."<br />";
echo $text[rand(0,$col_str)]."<br />";
echo $text[rand(0,$col_str)]."<br />";
?>
."<br />" - это убрать если перенос строки не нужен
рекомендую заменить rand на mt_rand
1. mt_rand более рандомный и правильный
2. Из документации функции RAND:
Потому, что Вова ты за 3-и года не научился понимать, что такое ссылочный взрыв, там не в ссылках дело, а в анкорах. И не научился различать ссылки и бэки. Ссылок может быть миллион, а бэк всего лишь 1.
Есть варианты медленного размещения ссылок ?
Нет, нету т.к. это имеет значения. Индексация и так проходит в течении 1,5-2 месяцев.