HILFE Fehler im phpscript?

Hi, Habe einen php Script selbst geschrieben. Undzwar bemerkungen werden in eine datei gespeichert. Undzwar Habe ich einmal was eingetragen. Hat auch alles geklappt. Aber jetzt nach 1-2 Tag(en) wurde das irgendwie neu ausgeführt. So ist aus einer 20kb datei mehrere mb geworden. Ich lasse sie mal so groß, damit ihr es seht. Der I-Explorer stürtzt ab bei der größe. Datei Bemerkung.php:

[code]<?php
$fehler1 = “Der Name ist ein Pflichtfeld, er muss angegeben werden!”;
$fehler2 = “Die Bemerkung ist ein Pflichtfeld, sie muss angegeben werden!”;
$error = 0;
if(($_GET[‘button’])==OK){

if(empty($_GET[‘name’])){
echo ‘’;
echo $fehler1;
echo ‘
’;
$error = 1;
}
if(empty($_GET[‘bemerkung’])){
echo ‘’;
echo $fehler2;
echo ‘
’;
$error = 1;
}
//if (!empty($name) and !empty($bemerkung)) { //wenn name und bemwrkung leer ist
//echo ‘

’;
//echo ‘’;
//echo $fehler1;
//echo ‘
’;
//echo ‘
’;
//echo ‘’;
//echo $fehler2;
//echo ‘
’;
//echo “

”;
//$error = “1”;
//}
}
if($error==0){
//variablen inhalt definiren
//vorheriger inhalt lesen, lehrzeilen hinzufügen, den namen hinzufügen und die bemerkung hinzufügen
$inhalt = file_get_contents(“bemerkung.txt”);
$inhalt .= “\n”;
$inhalt .="--------------------------------------------------------------------------------";
$inhalt .= “\n”;
$inhalt .= $inhalt .= $_GET[‘name’];
$inhalt .= " schrieb folgendes:";
$inhalt .= “\n”;
$inhalt .= $_GET[‘bemerkung’];
$inhalt .= “\n”;
$inhalt .= “\n”;
$dateiname = “bemerkung.txt”; // Name der Datei
// Datei öffnen,
$handler = fOpen($dateiname , “a+”);
// Dateiinhalt in die Datei schreiben
fWrite($handler , $inhalt);
fClose($handler); // Datei schließen
if(($_GET[‘button’])==OK){
echo ‘’;
echo (“Danke für ihre bemerkung”);
echo ‘
’;
}
}
?>

Geben Sie hier Ihre bemerkung ein:	

Geben Sie hier bitte Ihren Name ein:	
[/code] Und Ausführen könnt ihr es auf [harry01.bplaced.net/test/bemerkung.php](http://harry01.bplaced.net/test/bemerkung.php) und ich habe gemerkt das der skript bei so rießen datein nichtmehr klappt. wie kann ich den fehler beheben?

Danke für eure antworten.

Gruß Harry01

Der Fehler steckt in der Methode. Du kannst nur einen gewissen Teil des Speichers belegen, überschreitest jedoch das Limit.

Probier das mal so:

[b][color=#BF0000]//$inhalt = file_get_contents("bemerkung.txt");[/color] [u]ENTFÄLLT![/u][/b]
$inhalt .= "\n";
...
$inhalt .= "\n";
$handler = fopen("bemerkung.txt" , "a");
fwrite($handler , $inhalt);
fclose($handler);

Das a steht für append, was soviel wie anhängen bedeutet. Der Dateizeiger geht also automatisch zum Ende der Datei und schreibt von dort aus die neuen Daten. Du musst den Text also nicht vorher auslesen.

DANKE,
Gleich mal ausprobieren :slight_smile:

Harry01