Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Parsowanie bardzo dużych plików
dado
post
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 2
Dołączył: 12.04.2004
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


chciałem zapytać bardziej rozeznanych w temacie - mam do parsowania pliki txt po 600/1000 MB. W tym momencie stosuję funkcje file i substr ale przy tak dużych plikach php wymięka, time limit na długie godziny memory limit ile sie da czyli 2 gb. Miał ktoś może z was podobny problem ?
Będę wdzięczny za każdy pomysł.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dado
post
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 2
Dołączył: 12.04.2004
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Wymięka to akurat w tym przypadku oznacza powieszenie komputera (localhost). set_time_limit() - już na 2h.
Jasne że pobieranie strumieniowe jest bardziejsze w tym przypadku tylko nie jak je zrealizować.
Przykładowe dane wyglądają tak
Kod
001369825grecja   0125granada    025***hotel piersonada025 456875 45357 00 21 35 0000 554
001369825grecja   0125granada    025***hotel piersonada025 456875 45357 00 21 35 0000 554
001369825grecja   0125granada    025***hotel piersonada025 456875 45357 00 21 35 0000 554
001369825grecja   0125granada    025***hotel piersonada025 456875 45357 00 21 35 0000 554
001369825grecja   0125granada    025***hotel piersonada025 456875 45357 00 21 35 0000 554
...


i teraz muszę pobrać zawsze pełną paczkę danych czyli kończąca się enterem
czyli jeśli wiem że wiersz ma np: 47bajtów to

  1. <?php
  2. $start = 0; 
  3. $pakiet=47; 
  4. $liczbawierszy=300000;
  5. $paczka = file_get_contents("1000mb.csv", FALSE, NULL, $start, ($pakiet * $liczbawierszy) );
  6. ?>

to mocno uproszczone ale czy to dobre myślenie ?
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: 25.12.2025 - 23:37