Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czytanie dużych plików - 1mln wierszy
Forum PHP.pl > Forum > PHP
paul14x
Witam

W jaki spósób najlepiej jest czytać duże pliki leżące już na serwerze? Mam bazę 100MB i kiedy próbuję ją wczytać wyrzuca mi błąd.

$firmy = File("import/baza.csv");
$ilosc = count($firmy);
   
for($i=1; $i<$ilosc; $i++){

// obróbka każdego z wierszy pliku

$pola = Explode(";",$firmy[$i]);

// itd

}



Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 102716114 bytes)

Jak najlepiej to zrobić?
nospor
no takich plikow nie wczytuje sie na raz, tylko czyta sie linia po linii:
fopen, fget, i spolka - patrz manual
kukix
Kod
     $fp = fopen('plik', 'r');
     fgets($fp);
     $szukana_linia = fgets($fp);
     fclose($fp);

cos takiego
elemek
dopisz na poczatku skryptu
  1. <?php
  2. ini_set('memory_limit', '1024M');
  3. ?>
dr_bonzo
Masz przeciez http://pl.php.net/fgetcsv specjalnie do CSV'ow + do tego fopen() + fclose()
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.