Оглавление там есть.... На первой странице расписано как пользоваться.
Цитировать
Щелчок любой кнопкой мыши на левом фрейме разворачивает его. Левый фрейм содержит оглавление справочника и обеспечивает быстрое передвижение по его разделам. Первоначально названия подразделов свернуты для удобства просмотра. Щелчок правой кнопкой мыши на более темных названиях разделов разворачивает или сворачивает их содержимое. Щелчок любой кнопкой мыши на фоне левого фрейма сворачивает его и позволяет просматрировать содержимое соответствующего раздела. Кнопки и слева над оглавлением позволяют свернуть или развернуть все оглавление документа.
Была такая проблема (на виндовом сервере). Вопрос решился без переписывания mysql_query на mysqli_query. Проблема насколько помню была в несовместимости .dll. (Решал это дело админ, но он уже не помнит какие именно .dll и где их менял).
Одно время приходилось "ковыряться" во внутренностях системы eGroupWare (http://www.egroupware.org/). Кое-что взял оттуда на вооружение, но многое видоизменилось в процессе использования, поэтому пример приведу из первоисточника. Если кто заинтерессуется может скачать архив дистрибутива (около 38Мб), в котором около 40 000 файлов (очень долго распаковывается и копируется и посмотреть что там и как.
В коде классов этой системы создают и подключают на лету сколько угодно различных классов. Получаются что-то типа "класс наследник нескольких классов" (Вот это может и приходиться в интерессующей задаче).
А можно ли уточнить саму задачу. (По тексту обсуждается реализация одного из ее решений).
Если я правильно понял, то имеются несколько классов (объектов): class_1, class_2, ...., class_N. В этих классах, соответственно, определены функции (методы) func_1, func_2, ..., func_N. И есть основной класс - main_class, в котором необходимо выполнить один или несколько методов из набора func_1, ..., func_N. Причем заранее не известно сколько методов и какие именно методы понадобятся в ходе работы объета class_main.
Если задача именно такая, то могу предложить другое решение без использования MySQL.
Нужно только в индекс-файле решить вопрос о сопоставлении ссылок "индексируемый файл с контентом"-"\'собранная\' страница".
Задача, думаю, упростится, если структура сайта будет имет вид:
"Файлы с контентом лежат в одной папке и имеют различные имена, их названия совпадают с названиями "собранных" страниц".
Но и при структуре: "Контент... содержится в отдельных файлах и папках ... файлы с контентом имеют одинаковое имя..." задача поиска и индексации решается в рамках предлагаемого примера.
Если тема все еще актуальна, могу предложить следующее.
Для того чтобы ввести в это дело вероятность можно сделать различный т.н. "коэффициент атаки", очередность ударов и вероятности нанесения удара зависящую от того пропущен ли был предыдущий удар.
Для того чтобы удар был не всегда постоянный - ввсести т.н. моногмерный кубик - NdM+K . Например, если максимальный удар 850, то для него считать удар где-то по такой формуле - 11d5+795. Что означает удар будет 800-850. 11d5 означает что подбросили 5 раз 11-гранный кубик, то есть сумма 5-ти случайных чисел от 1 до 11. (Возможны другие варианты).
Вероятность события можно считать следующим образом. Например, вероятность события равна N%, тогда надо получить случайное число от 0 до 100 и если полученное число меньше N, то событие произошло, если больше,то неудача.
При определении "попал-непопал" считать, что вероятность равна 50% у каждого корабля.
Для внесения большей непредсказуемости можно не одновременно списывать нанеаенный ущерб с каждого корабля а по очереди. Случайно определять кто первый ударил при каждом ходе. У первого будет явно преимущество и если первый попал во второго, то снижать вероятность нанесения удара вторым скажем до 45% (что-то типа не оправился от удара). На следующем ходе запоминать пропустил ли противник предыдущий удар. В случае если имелась вероятность 45% и противник предыдущим ударом промазал, то вероятность опять повышается до 50%.
Рассчетов больших проводить не нужно, а исход битвы станет более непредсказуемым.
Решал подобную задачу. Без использования временных файлов - не получится видимо.
Вот кусочек класса (немного подредактированный).
//***************************************************** // Изменение масштаба рисунка в зависимости от параметра // (используется временный файл) //***************************************************** function PrintFotoResize($id, $kod) {
Сталкивался. (База MySQL) В моем случае изменений только php.ini тоже было не достаточно. Что точно делал не помню... давно это было. Собака была зарыта в настройках MySQL. Есть предположение, что нужно изменить значение переменной max_allowed_packet.
....Если используются поля BLOB большого размера, то рекомендуется увеличить значение этого параметра. В идеале нужно присвоить этой переменной значение размера самого большого BLOB поля.
Может и еще что менял... не помню, но копать надо от настроек базы (Если MySQL... В других может аналогично...).
Один мой знакомый увлекался броузерными MMORG. И в каждом проекте писал программу-бота. (Совершенствовал свои программистские навыки). В результате его блочили в каждом проекте. Но не везде его бота быстро вычисляли. Задавшись вопросом как быстро поймать его бота, надумал следующий вариант. (Бот попался при первом же подключении)
Суть в следующем.
Машина и человек ведут себя по разному (это можно было и не говорить). Надо отловить - отправили ли форму нажатием на Enter или кликнули мышкой. Enter определялся при помощи JavaScript - в скрытое поле формы записывался код последней нажатой клавиши. А для определения клика мышки можно воскользоваться кнопкой вида В этом случае передаются на сервер еще и координаты точки картинки X,Y , в которую кликнули мышкой.
Вот на сервере и проверять "координаты"+"код клавиши".
Способ конечно из разряда "защита от дураков" (и его здесь сейчас разнесут "в пух и прах"). На основной способ защиты не потянет, но в качестве дополнительного вполне сойдет. И от пользователя заполняющего форму для отправки ничего дополнительного не требуется.
Если код нужен могу сюда выложить - он коротенький.