paul14x
30.07.2008, 12:10:32
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
30.07.2008, 12:12:13
no takich plikow nie wczytuje sie na raz, tylko czyta sie linia po linii:
fopen, fget, i spolka - patrz manual
kukix
25.08.2008, 10:11:28
Kod
$fp = fopen('plik', 'r');
fgets($fp);
$szukana_linia = fgets($fp);
fclose($fp);
cos takiego
elemek
25.08.2008, 10:19:21
dopisz na poczatku skryptu
<?php
?>
dr_bonzo
25.08.2008, 11:17:10
Masz przeciez
http://pl.php.net/fgetcsv specjalnie do CSV'ow + do tego fopen() + fclose()