Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]parsowanie pliku txt, Jak odczytać wybrany zakres linii z pliku txt ?
fiasko
post
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 .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fiasko
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 1
Dołączył: 1.06.2010

Ostrzeżenie: (0%)
-----


Będę wykonywać operacje na obiektach, które w ścisłej kolejności zostały wygenerowane do pliku. Obiektami są dane przefiltrowane pod różnym kontem. Każdy taki plik stanowi unikalną kolejkę zadań na której pracuje moja aplikacja.

Zwyczaje musiałem wygenerować kolejkę zadań według której pracują procesy CRON.

Wcześniej pracowałem na bazie i nie byłem wstanie zapisać 5 mln rekordów zanim nie przekroczę limitu czasu serwera na wykonanie skryptu.

Wpadłem więc na pomysł aby agregować te dane w zmiennej i zapisać na koniec do jednego pliku. W sumie mógłbym trzymać w bazie tego typu rzeczy, ale za jakiś czas nie wyobrażałbym sobie wielkości bazy (IMG:style_emoticons/default/smile.gif)

Dzięki temu teraz będę mógł szybko pracować na tych obiektach zgodnie z oczekiwaną kolejnością.
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Cytat(fiasko @ 3.11.2012, 00:43:53 ) *
Wcześniej pracowałem na bazie i nie byłem wstanie zapisać 5 mln rekordów zanim nie przekroczę limitu czasu serwera na wykonanie skryptu.

jeśli obrabiasz duże ilości danych to nie prościej wykupić jakiś najtańszy VPS byś miał dostęp do PHP spod konsoli?? nie miałbyś takich limitów czasowych - ale fakt, przynajmniej spojrzałeś innym okiem by zrobić to optymalniej... lub te dane mógłbyś obrabiać na lokalnej maszynie a dopiero potem wyniki przesłać na serwer...
Cytat(fiasko @ 3.11.2012, 00:43:53 ) *
Wpadłem więc na pomysł aby agregować te dane w zmiennej i zapisać na koniec do jednego pliku.

co to znaczy, że agregujesz dane w zmiennej?? czy te dane są przyrostowe i zwiększają tą zmienną z upływem czasu?? tzn. potrzebna pamięć skryptu rośnie stale zapewne... czemu danych nie zapisujesz na bieżąco do pliku linia po linii?? SplFileObject::fwrite, a plik otwórz z modyfikatorem "a"...

swoją drogą trochę interesowałem się strumieniowymi bazami danych (nastawionymi na określone zdarzenia) i gdyby nie brak czasu to miałem pisać prostą implementację na swoje potrzeby bez implementacji języka SQL, z tym, że to raczej Cię nie interesuje gdyż to już programowanie sieciowe ;]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 31.12.2025 - 17:43