![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 2 Dołączył: 6.06.2008 Skąd: jesteś ? Ostrzeżenie: (0%) ![]() ![]() |
Witam. Nie mogę sobie poradzić z jednym problemem. Otóż buduję skrypt który będzie na podstawie pliku tekstowego dodawał rekordy w których będą zawarte:
ilość wejść gracza na serwer, zalogowanie się nowego gracza na serwer(jeżeli użytkownik już istnieje to kolumna z ilością wejść się ma aktualizować.). Niestety to wszystko jest oparte na pliku log serwera. Wykrywanie nowego użytkownika dodałem jak i wykrywanie samej struktury wiersza logu, pozostało mi aktualizowanie ilości wejść na serwer. Cały skrypt jest nienajlepszym rozwiązaniem bo za każdym razem wczytuje i sprawdza po kolei wszystkie wiersze. A co przy kilkumegowym pliku trwało by to dużo czasu i obciążało by to serwer. Po krótkim namyśle i przeanalizowaniu wszystkiego doszedłem do wniosku że jeżeli była by funkcja która otwierała by plik tekstowy od $ wiersza to wszystko poszło by z płatka... Lecz nie wiem czy taka funkcja istnieje. Zapraszam wszystkich do tematu i próby rozwiązania problemu. Pozdrawiam Plik logu: Kod ScriptLog: New Player maniek id=5431 ScriptLog: New Player aqw id=5433 ScriptLog: KFLRules = kf-bioticslab.KFLevelRules0 ScriptLog: Game length = 2 ScriptLog: UdpServerQuery(crt): Port 7717 successfully bound. ScriptLog: New Player avgfh id=54325 ScriptLog: New Player avgfh id=54325 <---- jeżeli skrypt natrafi na taką samą nazwe gracza ma aktualizować wejścia Plik skryptu: (to co wymodziłem, wszystko na odwal się robione aby działało i proszę się nie czepiać zbytnio tego kodu)
Jak widzicie stanąłem na tej aktualizacji bo przecież skrypt w nieskończonośc będzie aktualizował bo znajdzie te nazwy uzytowników. PS. myślałem zeby wszystko wrzucić w cron i co 1 minute aktualizować. Ten post edytował Woytek950 30.06.2011, 22:06:57 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 2 Dołączył: 6.06.2008 Skąd: jesteś ? Ostrzeżenie: (0%) ![]() ![]() |
@PanGuzol, dzięki za pomoc. Nie miałem pojęcia o takiej funkcji. A wystarczyło krótkie zdanie...
![]() Niestety ale sobie dalej nie poradziłem. W skrócie: muszę zrobić tak aby skrypt był wykonywany od danej linijki w pliku tekstowym. Czyli powiedzmy ze jest to linijka 450 i skrypt ma sie wykonac od niej. Nastepnie powiedzmy ze doszlo drugie 450 czyli razem 900'tna linijka. I tak od 900'tnej linijki ma teraz dodać tych uzytkownikow... Ten post edytował Woytek950 2.07.2011, 17:42:31 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Nie czytaj przez file tylko otwieraj przez fopen, użyj fseek aby przeskoczyć i na końcu fread
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 2 Dołączył: 6.06.2008 Skąd: jesteś ? Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś to w praktyce pokazać? będę wdzięczny.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A przykładów i komentarzy w manualu nie raczył przeczytać?
Ten post edytował Fifi209 2.07.2011, 20:32:00 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Jak nie potrafisz tego zrobić w taki sposób, to spróbuj inny np. jak już odczytasz swoim sposobem, to czyścisz plik i następnym razem czytasz znów całość.
Aby nie stracić logów przed czyszczeniem wykonać możesz kopię. Może nawet jest to i lepsze rozwiązanie bo nie będziesz musiał operować na bardzo dużym pliku w dalszych etapach. -------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 2 Dołączył: 6.06.2008 Skąd: jesteś ? Ostrzeżenie: (0%) ![]() ![]() |
Fajny pomysł. Myślałem nad nim ale nie pomyślałem że można zrobić kopię.
Kolejny raz dziękuje za zainteresowanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:33 |