Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%)
|
Mam plik baza.txt, który waży 45 MB i chcę z niego odczytać 100 linii zawrtości zaczynając odczyt od linii onumerze 10000.
Jakiej funkcji użyć do odczytu i jak czytać ? Dodam tylko, że file() deklaruje mi tyle pamięci, że nie da się załadować tak dużego pliku do pamięci . |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%)
|
interesują mnie jeszcze większe bo będę dostawać pliki z 50 mln linii (IMG:style_emoticons/default/smile.gif) W każdej linii mam jeden obiekt poddany serializacji. Będę odczytywać w CRON po 10000 rekordów na minutę jeszcze inne ciężkie operacje dotyczące tych obiektów.
Na bazie nie będę z tym pracować bo musiałbym pracować na setkach tabel. Tu będzie tak, że przerobiony plik nie będzie mi już potrzebny. ok teraz jest idealnie (IMG:style_emoticons/default/smile.gif)
Ten post edytował fiasko 2.11.2012, 23:03:18 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
interesują mnie jeszcze większe bo będę dostawać pliki z 50 mln linii (IMG:style_emoticons/default/smile.gif) W każdej linii mam jeden obiekt poddany serializacji. Będę odczytywać w CRON po 10000 rekordów na minutę jeszcze inne ciężkie operacje dotyczące tych obiektów. Na bazie nie będę z tym pracować bo musiałbym pracować na setkach tabel. Tu będzie tak, że przerobiony plik nie będzie mi już potrzebny. gdyby długość linii była stała można by to zrobić optymalniej, ale pomińmy tą kwestię (w końcu nie będziemy tu implementować bazy danych ;p)... wspomniałeś, że to co obrobione to nie potrzebne i będziesz miał to na zasadzie kolejki... więc by następnym razem nie przewijać pliku tak daleko przy nieregularnych liniach to nie mógłbyś tą techniką pociąć ten plik na wiele mniejszych po te 10000 linii kodu?? i w myśl zasady 100|1000 plików na katalog (nie pamiętam jaka liczba była optymalna) - więc musiałbyś sobie jakiś system nazewnictwa wystosować - obrobisz to to to usuwasz i tniesz następny plik... a przy kolejnej kolejce nie musisz tak daleko przewijać - to tylko propozycja... //edit czyli fseek przewijało za każdym razem od początku pliku - zaczynałem pisać w poprzednim poście, byś korzystał z fseek raz a potem z fgets (miks current i next ^^) ale zaraz to skasowałem bo zdawało mi się to niedorzeczne ;p - a już jakiś czas nie miałem potrzeby obróbki duuuużych plików ;p Ten post edytował zegarek84 2.11.2012, 23:12:15 |
|
|
|
fiasko [PHP]parsowanie pliku txt 2.11.2012, 21:20:17
Spawnm Nie da się od linii o numerze 10000.
Zainteresuj s... 2.11.2012, 21:22:18 
zegarek84 Cytat(Spawnm @ 2.11.2012, 21:22:18 ) ... 2.11.2012, 21:50:33
abort Możesz to zrobić, ale weź pod uwagę, że jeśli chce... 2.11.2012, 21:33:14
fiasko wygenerowałem dla testów plik z 1500000 linii kodu... 2.11.2012, 22:23:00
zegarek84 przewinięcie do tak dużego pliku gdzie są nie regu... 2.11.2012, 22:33:03
Crozin Wygląda na to, że masz do obrobienia duży plik i z... 2.11.2012, 23:30:26
zegarek84 w sumie też dobre pytanie, chyba, że nie ma dostęp... 2.11.2012, 23:39:04
fiasko Będę wykonywać operacje na obiektach, które w ścis... 3.11.2012, 00:43:53 
zegarek84 Cytat(fiasko @ 3.11.2012, 00:43:53 ) ... 3.11.2012, 01:11:07
Crozin A nie możesz po prostu wyłączyć limitu czasu wykon... 3.11.2012, 02:47:29
zegarek84 co racja to racja, będzie szybciej, ale liczyć nie... 3.11.2012, 12:31:49 ![]() ![]() |
|
Aktualny czas: 31.12.2025 - 03:54 |