![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam taki pytanko, co lepiej wybrać przy dość częstym liczeniu linii z pliku? Nasuwają mi się te dwie metody: 1. if($fh = fopen('file', 'r')) { while($chunk = fread($fh, 8192)) { $liczba_lini += substr_count($chunk, "\n"); }} 2. $chunk = @shell_exec('wc -l file'); preg_match("/(.*?) \/home(.?)/",$chunk ,$czesc); $liczba_lini = $czesc[1]; I teraz nie wiem która jest wydajniejsza, mniej obciążająca serwer pamięć itp Wydaje mi się ze metoda druga, ale nie wiem jak to z częstym wychodzeniem z php czy to nie spowalnia i nie katuje serwera. A może ktoś zna jeszcze inna metodę? Z niecierpliwością czekam na odpowiedz i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Własnie robiłem testy i czasy są porównywalne, i nie wiem co wybrać.
Jeśli chodzi o drugą metodę to nie ma problemu bo to jest na Linux ale nie wiem jak to własnie jest z częstym wychodzeniem z php, czy to nie morduje serwera. @nospor: twoje rozwiązanie jak słusznie zauważył @redeemer nie będzie działać. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 16:41 |