[/quote]
Была вот в этом =) :
1. Нарисовать HTML-форму с параметрами (заполняемыми полями):
- "время от" в формате "YYYY-MM-DD hh:mm:ss" (YYYY - год, ММ - месяц, DD - день месяца, hh:mm:ss - час, минута и секунда, время - локальное); если время не указано, то минимальное время не ограничено
- "время до" в том же формате; если время не указано, то максимальное время не ограничено. Время считать «невключительно».
- «подстрока URL» - подстрока, содержащаяся в URL'ax HTTP-запросов
Эту форму отсылать HTTP-методом POST, при ошибке во введенных данных - повторно выдавать ту же самую HTML-форму с сообщением об ошибке на этой странице.
2. При правильно введенных данных - обработать log-файл HTTP-сервера Apache -
"access.log".
Надо разобрать каждую из строк лог-файла с помощью функции preg_match(...) на поля:
- ip-адрес
- время (перевести в числовой формат - количество секунд, прошедших с 1 января 1970 года по Гринвичу, и сравнения вместе с обработкой проводить уже в этом формате)
- часть URL, идущая за адресом сайта, кроме параметров GET-запроса
- параметры GET-запроса (часть URL после '?' включительно)
- код результата HTTP-запроса
- число возвращенных байтов
Затем, отобрать только те строки, у которых код результата HTTP-запроса равен 200, время входит в указанные рамки и та часть URL, которая идет за адресом сайта, но не включает в себя параметры GET-запроса, - должна содержать вводимую ранее подстроку, если таковая задана.
3. Сохранить результат в неких SQL-таблицах, созданных Вами ранее в некой базе данных.
Перед помещением данных в эти таблицы, они должны быть очищены. Таблицы следущие:
- IP-адреса
- URL до '?'
- время доступа, ссылка на IP-адрес, ссылка на URL до '?', GET-параметры, число байт
4. Вывести результаты на HTML-странице в виде таблицы. У таблицы рамка вокруг и граница
между ячейками - черная линия толщиной ровно 1 пиксель (можно использовать CSS).
Результаты должны быть отсортированы по времени. На странице должно быть не более 50
записей из лог-файла с полями: ip-адрес, время, URL между адресом сайта и '?', URL после
'?', число возвращенных байтов.
Внизу и вверху таблицы вывести общее число отобранных записей, номер 1-й страницы (1), номер текущей страницы, страницы до нее и после нее, а также номер последней страницы. Номер текущей страницы не должен быть ссылкой, номер же остальных страниц - ссылки с GET-параметром, указывающим номер страницы.
Вверху таблицы - ссылка на HTML-форму с параметрами (см. пункт 1).
В следующем посте выложу исходники чтобы этот не нагружать(думаю ругать меня не будут).
Если будут какие-то предложения то буду очень признателен.