Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przetwarzanie pliku
Forum PHP.pl > Forum > Przedszkole
Jarod
Mam dużą ilość plików. Mój skrypt pobiera ze wskazanego katalogu po kolei każdy plik i pobiera drugą linijkę pliku. Na razie zrobiłem wczytywanie całego pliku do tablicy. Szukałem ale nie mogę znaleźć funkcji, która pobierałaby tylko pojedynczy wiersz (w moim przypadku drugi) pliku - przy dużej ilośc plików (ponad 3000) zależy mi na czasie.

Jak możnaby to rozwiązać bez wczytywania całego pliku za pomocą file() ?
dr_bonzo
A moze baza danych?

Nie uzywaj file(), bo wczytuje caly plik, fopen() , fgets()em wczytaj dwie linijki, pierwsza pomic i zajmij sie druga.
Jarod
Cytat(dr_bonzo @ 2.01.2007, 13:48:27 ) *
A moze baza danych?

Odpada. Bo to są kopie poczty (tygodniowe). Pakowane w jednym pliku. Rozpakowuje i przeglądam każdego maila i sprawdzam do kogo był adresowany. Potem wybrane maile kopiuje do wybranego katalogu.

Cytat(dr_bonzo @ 2.01.2007, 13:48:27 ) *
Nie uzywaj file(), bo wczytuje caly plik, fopen() , fgets()em wczytaj dwie linijki, pierwsza pomic i zajmij sie druga.

Też tak kombinowałem i jest dużo szybciej - około 5 sekund. Ale wydaje mi się mało estetyczne, pobieranie w pętli dla każdego pliku jednej linijki tylko po to, żeby pobrać drugą..
plisek
nie wiem czy jest funkcja do "jeżdżenia" po pliku tak jak w c++ (seek, seekp, seekg).
Powinienes przejrzec manual, możliwe ze jest podobna implementacja w php
Moze ktoś kiedyś korzystałquestionmark.gif

pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.