Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 15.09.2009 Ostrzeżenie: (0%)
|
Witam,
mam plik logu pewnej gry, przykładowa linijka wygląda tak: [30 Nov 11:53:09] PARTY [Caelldfssion] jakiś tam tekst no i mam takie pliki utworzone przez siebie: dictionary.txt (słownik) o przykładowej zawartości: .*kur.* (na razie jeden wyraz) oraz channels.txt (schematy kanałów do przeglądania) i przykładowej zawartości: ^\[.. ... ..:..:..\] PARTY \[.*\] ^\[.. ... ..:..:..\] ALL [\[.*\] ^\[.. ... ..:..:..\] ALLIANCE \[.*\] ^\[.. ... ..:..:..\] TRADE \[.*\] ^\[.. ... ..:..:..\] HERO_VOICE \[.*\] i teraz sedno problemu... stworzyłem skrypt, który niestety nie działa i bardzo obciąża sprzęt bo wyszukuje w 30MB pliku (około 400000 linijek) i dla każdej jest odpowiednia ilość kombinacji wyszukiwania, dla w/w plików jest to 5^1 kombinacji (5), skrypt wygląda tak jak kod poniżej, jeżeli ktoś ma pomysł jak to dobrze rozwiązać aby działało i nie obciążało aż tak sprzętu to prosiłbym o pomoc skrypt:
wcześniej wczytałem cały 30MB plik do tablicy funkcją file() i nie było to dobre rozwiązanie, także obciążało, stąd chciałem przesiąść się na to, ale jak widać nieskutecznie. W kodzie mogą być drobne błędy jednak całość powinna być w miarę dobrze zrozumiana. Z góry dziękuję za pomoc. Ten post edytował Qwer 26.12.2009, 19:49:09 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 15.09.2009 Ostrzeżenie: (0%)
|
Dzięki za pomoc, mój skrypt już działa, błąd polegał na tym, że drugie wyrażenie regularne było źle sformułowane (drugi kanał) stąd się wysypywał, dalej jednak znacznie obciąża kompa, z czasem może i nad tym pomyślę rozpracowując to co podałeś i wykorzystując do swoich potrzeb, dzięki.
|
|
|
|
Qwer [PHP]Wyszukiwanie w pliku logu 26.12.2009, 19:46:21
Pilsener 1. To, co ma być znalezione wrzucasz do tablicy:
[... 27.12.2009, 00:51:45
Qwer feof()+fgets() użyłem teraz, wcześniej użyłem też ... 27.12.2009, 10:34:26
Pilsener Jeżeli to ma być wyrażenie regularne to na pewno n... 27.12.2009, 16:55:36 ![]() ![]() |
|
Aktualny czas: 12.03.2026 - 18:07 |