Felix Riesterer: Performance, nur erste zeile lesen: fope file, file_get_contens

Beitrag lesen

Lieber Mike,

ich gehe mal davon aus, du meinst also fread.

egal, ob fread oder fgets. Im Prinzip erfüllen beide Funktionen für Dein Anliegen denselben Zweck.

Ich habe das nun probiert mit 1000 Dateien ca. 500kb/Datei:

Wenn die Dateien in den Megabyte-Bereich gehen (so meine ich Deinen OP gelesen zu haben), dann macht sich das bald an der Speichergrenze bemerkbar, insbesondere, wenn Du 8MB Arbeitsspeicher in PHP zur Verfügung hast, eine Datei aber mal eben auch so an diese Grenze stößt.

$handle = fopen($fl, "r");
$cont = fread($handle,100);
$cont = substr($cont,0,strpos($cont,"\r\n"));
fclose($handle);

Bist Du sicher, dass die erste Zeile genau 98 Zeichen enthält? Wenn nicht, warum dann nicht so?

$d = fopen($fl, 'rb');  
$cont = '';  
while (!strpos($cont, "\n")) {  
    $cont .= fread($d, 20);  
}  
$cont = preg_replace('~^([^\r\n]+).*~', '\\1', $cont);  
fclose($d);

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)