dedlfix: mempry_limit ?

Beitrag lesen

echo $begrüßung;

$fh = fopen("$ordner/$entry", "r") ;
$pages = fread($fh, filesize("$ordner/$entry"));

Um einen kompletten Dateiinhalt einzulesen, kann man file_get_contents() verwenden. Wenn der Suchwert am Anfang zu finden ist, wäre eine Begrenzung auf den zu erwartenden Bereich sinnvoller als ein komplettes Einlesen.

Du ignorierst die Möglichkeit, dass die Datei zwar vorhanden ist, aber nicht gelesen werden kann. In solch einem Fehlerfall fährst du einfach fort, was dann zu Folgefehlern führt.

if ( preg_match("/Info: ([0-9]+)/",$info,$parts)) {

Wie kommt man nun von $pages auf $info?

Bei einer Datei die 1414482 Bytes gross ist, zeigt die Ausgabe vorher
1571664 Bytes an und am Ende des Scripts 2986488.
Also fast das doppelte.

Wie das? Wenn ich die Differenz zwischen den beiden Werten bilde komme ich auf ein wenig mehr als die Dateigröße.

Liegt das daran, dass die Datei zweimal im Speicher liegt?
Einmal bei "opendir()" und dann noch bei "fopen()" ?

opendir() interessiert sich nicht für den Dateiinhalt.

Welcher maximale Wert ist empfehlenswert für "memory_limit" ?

Der Maximalwert ist 0 für unlimitiert und empfehlenswert, wenn man sich den Speicher nicht mit anderen teilen muss. Ansonsten ist eine Begrenzung in Multiuserumgebungen sinnvoll, damit nicht einzelne Scripte andere lahmlegen. Eine wissenschaftliche Begründung für den optimalen Wert wird dir keiner liefern können. Hier hilft sicher nur, deine Umgebung genau einzuschätzen und Erfahrungswerte zu sammeln.

echo "$verabschiedung $name";