А у меня вот некоторые сомнения на счет "rand() в PHP это РАВНОМЕРНЫЙ генератор случайных чисел.". Думаю, эта равномерность может проявляться лишь в контексте одной сессии (читай, во время выполнения одного скрипта). Чтобы в разных сессиях это работало, интерпретатру пришлось бы где-то в постоянной памяти хранить, кому какие значения уже возвращались. Если мои размышления неверны, поправьте.
Хотя, видимо, LEOnidUKG что-то подобное и имел ввиду
Это называется нормальное распределение. Оно приемлимо работает при большом количестве "показов" (стремящимся к бесконечности). Не думаю, что такой вариант устраивает ТС.
Можно завязать на БД. Создать таблицу типа "id | код баннера | счетчик просмотров", при генерации страницы выводить баннер с наименьшим счетчиком, увеличивая при этом последний на единицу.
Если уже долбит по нестандартному порту, то, возможно это не обычный бот-простукивальщик всего подряд, а конкретный нацеленный интерес к вашему серверу
Может, из-за того, что квадратные скобки заменились движком форума на ***91; и ***93; соответственно?
В квадратных скобках перечислить символы. Допустим, на PHP:
$text = '#hello (w)orl%d'; echo preg_replace('/[\(\)#\*&%]/', '', $text);
Работоспособность не проверял, но, думаю, суть ясна. Не забываем экранировать спецсимволы.
Возможно, хостер может помочь снять образ системы. Потому что самому из под рабочей системы снять образ корня не получится
А если попробовать запустить в screen?
Вряд ли кто-то подскажет, т.к. неизвестно функционалом какого PHP-расширения скрипт работает с БД (mysql, mysqli, ...), используется ли для работы какой-то API-интерфейс (класс для работы с MySQL и т.п.) или нет. Возможно, вам поможет это:
<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } if (!mysql_select_db('database_name')) { die('Could not select database: ' . mysql_error()); } $result = mysql_query('SELECT Count(*) FROM table'); if (!$result) { die('Could not query:' . mysql_error()); } echo mysql_result($result, 0, 0); mysql_close($link); ?>
SQL-запросом из БД...
SELECT Count(*) FROM `table` WHERE ...