Textdatei zum Einlesen zu groß

queicherius

♥ PHP ♥
Hi an alle,

ich habe eine 213560 Zeilen große Wörterbuchdatei (txt). Ich wollte so sie mit PHP einlesen:

PHP:
$file_array1 = file($ort);

Leider meldet PHP dann das:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes) in *** on line 25

Wie kann ich die Datei trotzdem einlesen?
 
Öffne die Datei doch stückchenweise.

Du kannst dafür folgende Funktionen verwenden:
PHP:
resource fopen  ( string $filename  , string $mode  [, bool $use_include_path= false  [, resource $context  ]] )

string fread  ( resource $handle  , int $length  )

int fseek  ( resource $handle  , int $offset  [, int $whence  ] )

Example: (Quelle php.net)
PHP:
<?php

$fp = fopen('somefile.txt', 'r');

// read some data
$data = fgets($fp, 4096);

// move back to the beginning of the file
// same as rewind($fp);
fseek($fp, 0);

?>
 
Oder speicher die Datei erst in einer Datenbank, z.B. SQLite, dann kannste die Daten auch überall mit hinnehmen oder ohne größeren Aufwand auf einem PDA installieren. Recht praktisch bei Wörterbüchern.

http://de.php.net/sqlite
 
Öffne die Datei doch stückchenweise.

Du kannst dafür folgende Funktionen verwenden:
PHP:
resource fopen  ( string $filename  , string $mode  [, bool $use_include_path= false  [, resource $context  ]] )

string fread  ( resource $handle  , int $length  )

int fseek  ( resource $handle  , int $offset  [, int $whence  ] )

Example: (Quelle php.net)
PHP:
<?php

$fp = fopen('somefile.txt', 'r');

// read some data
$data = fgets($fp, 4096);

// move back to the beginning of the file
// same as rewind($fp);
fseek($fp, 0);

?>

Super, danke!
 
Zurück