Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak odczytać z logów
Piotr :)
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.10.2003

Ostrzeżenie: (0%)
-----


witam
Dopiero zaczynam poznawać php i stanołem na takim temacie .
Mam plik acces.log z danymi które mnie interesują , jak pbrać z niego numer IP i odwiedzany adres , (niestety dane te nie występują zawsze po tej samej ilości spacji .oto przykład z loga

( 1 wiersz )
1065294793.590 434 192.168.0.2 TCP_MISS/200 351 GET http://216.239.59.104/search? - DIRECT/216.239.59.104 text/htm
(2 wiersz )
1065294793.637 55 192.168.0.2 TCP_MISS/200 1995 GET http://idm.hit.gemius.pl/pp_gemius.js - DIRECT/212.75.96.91

będę wdzięczy za pomoc (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adwol
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
podobno ten przedrostek preg to z perla (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?)

Nie podobno, a napewno. :wink:
Cytat
JEŻELI MOGE PROSIC O WYJAŚNIENIE TEGO

Znaki | na początku i końcu wyrażenia ograniczają je i poza tym nic nie znaczą. Mogą to być dowolne dwa takie same znaki. Najczęściej wybiera się taki znak, który nie występuje w samym wyrażeniu aby nie trzeba było niepotrzebnie eskejpować.
Znak ^ oznacza, że dopasowywanie musi być zaczęte od początku stringa.
Wyrażenie w nawiasie (http://[^/]*?) pasuje do ciągu zaczynającego się od http://, po którym występuje dowolnie długi (również pusty) ciąg znaków różnych od / (wyrażenie [^/]*?). Przy czym dopasowanie będzie niezachłanne (znak ?), tzn. dopasowany będzie najkrótszy ciąg spełniający warunki.
Znak / za nawiasem oznacza samego siebie czyli wystąpienie slasha w URLu (będzie to slash oddzielający nazwę hosta od ścieżki do pliku ponieważ poprzednie dopasowywanie było niezachłanne).
.* dopasowuje dowolny ciąg znaków (również pusty) zachłannie, tzn. dopasowany będzie najdłuższy ciąg spełniający warunki.
Znak $ na końcu oznacza że dopasowywany ciąg ma być do końca stringa.

Funkcja preg_replace służy do zamiany dopasowanego fragmentu łańcucha na inny. Ponieważ użyliśmy znaczników ^ i $ które dowiązują dopasowywany łańcuch odpowiednio do początku i końca podanego stringa, całość zostanie dopasowana, a więc też i całość zostanie zamieniona.
To na co zostanie zamieniony dopasowany fragment określa drugi parametr preg_replace. Wartość 1, obecna w tym przypadku, mówi, że należy wstawić to co się dopasowało w pierwszych (w tym wypadku jedynych) nawiasach wyrażenia (po to były w tym wyrażeniu nawiasy).
W konsekwencji zawartość całego stringa $url jest zamieniana na jego początkowy fragment od http:// aż do następnego znaku / wyłącznie.

Myślę, że wytłumaczyłem jasno i przejrzyście i zrozumiałeś o co chodzi. :wink:
Go to the top of the page
+Quote Post

Posty w temacie
- Piotr :)   jak odczytać z logów   4.10.2003, 20:38:52
- - Prometeus   użyj funkcji explode   4.10.2003, 22:04:27
- - adwol   Re: jak odczytać z logów   4.10.2003, 22:42:56
- - Piotr :)   Re: jak odczytać z logów   4.10.2003, 22:54:55
- - adwol   Re: jak odczytać z logów   4.10.2003, 23:01:37
- - nobody   Chcesz wyswietlic adres IP i odwiedzany link, ja n...   4.10.2003, 23:03:38
- - Piotr :)   niestety panowie opcja ze stałą spacją nie działa ...   5.10.2003, 15:14:48
- - adwol   Cytatniestety panowie opcja ze stałą spacją nie dz...   5.10.2003, 15:21:05
- - Piotr :)   przerobiłem na preg_split i DZIAŁA SUPER . Wcześni...   5.10.2003, 15:38:59
- - adwol   CytatJak możesz mi opisac w kilku dzaniach co ona ...   5.10.2003, 15:42:38
- - Piotr :)   poczytałem troche o wyrażeniach regularnych i znow...   5.10.2003, 20:57:45
- - nobody   Moze zrob tak: <?php $url="http://www.google.co...   5.10.2003, 21:04:28
- - adwol   Cytatjeżeli ktos wie o co chodzi niech mi napisze ...   5.10.2003, 21:23:39
- - Piotr :)   jeżeli dobrze rozumiem kod ( załerzy mi aby wiedzi...   5.10.2003, 22:26:12
- - adwol   Cytatpodobno ten przedrostek preg to z perla ?) Ni...   5.10.2003, 23:08:22
- - Piotr :)   cos nie działa , juz próbowałem <?php $url="htt...   5.10.2003, 23:16:44
- - Piotr :)   wytłumaczone jest super jeszcze tak dokładnego opi...   5.10.2003, 23:22:56
- - adwol   Cytatcos nie działa Eeeeh... Widzę, że jednak mimo...   5.10.2003, 23:25:29
- - Piotr :)   MOJA WINA MOJA WINA MOJA WINA :oops: jAK NAPISAŁ...   5.10.2003, 23:55:25


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 17:41