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: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%)
|
Możesz to zrobić, ale weź pod uwagę, że jeśli chcesz robić to co chwilę, to będzie to strasznie nieefektywne i dobijające system. Zainteresuj się funkcjami: fopen i fread.
Idea jest prosta: 1. poprzez fopen otwierasz plik w trybie do odczytu 2. w pętli odczytujesz kolejne linie (i nie zapisujesz ich nigdzie!!!), których będzie u Ciebie 9999. 3. Wewnętrzny wskaźnik pliku stoi na linii 10000. 4. Czytasz linię i zachowujesz 5. punkt 4 powtarzasz tak długo, jak długo potrzebujesz 6. Zamykasz plik Ale fakt faktem, Spawnm ma rację: jakaś baza SQL by się już bardzo przydała, choćby sqlite. |
|
|
|
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
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
fiasko interesują mnie jeszcze większe bo będę dostawać p... 2.11.2012, 23:02:55 
zegarek84 Cytat(fiasko @ 2.11.2012, 22:54:30 ) ... 2.11.2012, 23:06:14
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 - 19:10 |