Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czytanie dużych plików - 1mln wierszy
paul14x
post 30.07.2008, 12:10:32
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 28.02.2008
Skąd: Ostrołęka

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


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ć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 30.07.2008, 12:12:13
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no takich plikow nie wczytuje sie na raz, tylko czyta sie linia po linii:
fopen, fget, i spolka - patrz manual


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kukix
post 25.08.2008, 10:11:28
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Kod
     $fp = fopen('plik', 'r');
     fgets($fp);
     $szukana_linia = fgets($fp);
     fclose($fp);

cos takiego
Go to the top of the page
+Quote Post
elemek
post 25.08.2008, 10:19:21
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 24
Dołączył: 14.08.2008

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


dopisz na poczatku skryptu
  1. <?php
  2. ini_set('memory_limit', '1024M');
  3. ?>


Ten post edytował elemek 25.08.2008, 10:19:51


--------------------
Rzecz trudną rozbijam na kilka łatwiejszych :)
Pomogłem? Kliknij Pomógł.
Go to the top of the page
+Quote Post
dr_bonzo
post 25.08.2008, 11:17:10
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Masz przeciez http://pl.php.net/fgetcsv specjalnie do CSV'ow + do tego fopen() + fclose()


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:36