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: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa |
Nie da się od linii o numerze 10000.
Zainteresuj się sqlite na przyszłość. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
Nie da się od linii o numerze 10000. Zainteresuj się sqlite na przyszłość. wiem, że żartowałeś by nie podać starej funkcji gdzie przy tamtym podejściu też można złe nawyki sobie wyrobić, też jej nie podam choć łatwo jej nazwę będzie wywnioskować co ją się stosuje do uchwytu pliku... po za tym jakoś SQLite też jest moim faworytem... Z biblioteki SPL klasa SplFileObject metody: SplFileObject::seek(int) SplFileObject::fgets() | SplFileObject::current() znajomość i umiejętne zastosowanie tych funkcji pozwala na szybie wrzucenie danych do bazy przy minimalnym zużyciu pamięci... dodatkowo jeśli chodzi o odczyt baaaaardzo dużych plików XML to hasło do google "SAX PHP" - choć mógłbym dać klasę w dokumentacji PHP ale masz też hasło na przykłady - jednak by dobrze wykorzystać ją poprogramuj se paradoksalnie w JavaScript by umiejętnie stosować technikę programowania zdarzeniowego lub w C++ a dokładniej w bibliotece QT // EDIT nie odświeżyłem sobie i widzę, że dostałeś linka do tych funkcji ;p // edit 2 a jednak nie - po staremu to fgets (pobiera linię pliku i przewija wskaźnik dalej - ale skorzystaj z obiektowego podejścia i z biblioteki SPL) itd... za dużo tego dobrego miodziku ;D Ten post edytował zegarek84 2.11.2012, 21:55:03 |
|
|
|
fiasko [PHP]parsowanie pliku txt 2.11.2012, 21:20:17
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
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 - 10:28 |