![]() |
![]() |
![]()
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: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wykonanie kodu powłoki będzie wydajniejsze dla 1 dużego pliku ale wolniejsze dla wielu małych plików. Używanie exec() w pętlach to mordęga dla kodu (szczególnie na systemach wbudowanych - kto widział jak działa panel www NAS`ów firmy WD wie o czym mowa (IMG:style_emoticons/default/biggrin.gif) ).
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 00:34 |