Groessere Mengen Text in Datei speichern (fwrite)
Camacho
- php
Hallo,
ich möchte grössere Textmengen (voraussichtlich bis 30.000 Zeichen) in eine Textdatei speichern (immer noch das leidige Problem von einem Redaktionssystem ohne Datenbank). Mit dem folgenden Script kann ich nur Texte, die höchstens 1970 bis 1990 Zeichen lang sind, hochladen. Sobald es mehr wird, reagiert der Submit Button nicht mehr. Ist es überhaupt möglich, mehr unterzukriegen?
$filepath="fake.txt";
if ($Submit!=""){
$openedfile = fopen($filepath,"w+");
fwrite($openedfile,$content);
echo "the following text:<br><br>".$content."<br>
<br>has been written into: <br><br>".$filepath;
fclose($openedfile);
}
else{
if(!file_exists($filepath)){
$newfile = fopen($filepath,"w+");
fclose($newfile);
echo "Sorry, there is no content in this file!\n";
}
$newfile = fopen($filepath,"r");
$content = fread($newfile,filesize($filepath));
fclose($newfile);
echo "<form>\n
<textarea name="content" cols="90" wrap="PHYSICAL" rows="7">".
$content . "</textarea><br>
<input type="hidden" name="filepath" value="$filepath">\n
<input type="submit" name="Submit" value="Save changes">\n
</form>\n";
}// end of else
Vielen Dank im Voraus!
Nicola
Hi,
Sobald es mehr wird, reagiert der Submit Button nicht mehr.
dann ist es ein clientseitiges Problem. Suche dort.
Ist es überhaupt möglich, mehr unterzukriegen?
Och, bis zu zwei Milliarden Bytes sollte es eigentlich keine Probleme geben. Naja, der Arbeitsspeicher könnte nicht ausreichen.
Cheatah
Hi Cheatah,
Sobald es mehr wird, reagiert der Submit Button nicht mehr.
dann ist es ein clientseitiges Problem. Suche dort.
...und mit <form method="post" action="faq_update_essentials.php"> ging's!
Vielen Dank und schöne Feiertage!
Nicola
Hallo,
...und mit <form method="post" action="faq_update_essentials.php"> ging's!
Anstatt welcher Angabe?
AndreD
...und mit <form method="post" action="faq_update_essentials.php"> ging's!
Anstatt welcher Angabe?
Ich nehme an sie hat get statt post verwendet. Get ist aber auf eine gewisse Größe begrenzt (weiß nicht mehr wie viel genau). Post ist zwar auch begrenzt, das sind aber ganz andere Dimensionen (auf meinen Server z. B. 8 MB, nachzusehen in der Ausgabe von phpinfo()).
schönen Gruß
René
Hi,
Get ist aber auf eine gewisse Größe begrenzt (weiß nicht mehr wie viel genau).
*nein,* *ist* *es* *nicht.*
Siehe Archiv. Wurde schon x mal in allen Facetten durchgekaut.
Post ist zwar auch begrenzt,
*Das* könnte nun wirklich kaum falscher sein.
Cheatah
Hi,
...und mit <form method="post" action="faq_update_essentials.php"> ging's!
das ist kein gültiges HTML. Entferne die Backslashes.
Cheatah
Hallo,
Das ist jetzt mal ein Schnellschuss von mir, keine Ahnung obs was taugt: zähle doch mal mit strlen() die Länge von $content und schreibe den Wert in Deine fwrite()-Funktion als length-Parameter rein. Vielleicht bringt das ja was?
Gruss AndreD
Hi DandreD!
Danke erstmal.
Das ist jetzt mal ein Schnellschuss von mir, keine Ahnung obs was taugt: zähle doch mal mit strlen() die Länge von $content und schreibe den Wert in Deine fwrite()-Funktion als length-Parameter rein.
Daran (oder ähnliches) habe ich auch gedacht, aber mir ist die Syntax nicht klar. Wie schreibe ich das?
Grüsse
Nicola
Hi DandreD!
Nur AndreD ;-)
Hallo Nicola,
Ist eigentlich recht einfach, check mal im PHP-Manual folgendes:
Länge eines Strings:http://de.php.net/manual/de/function.strlen.php
Funktion von fwrite:http://de.php.net/manual/de/function.fwrite.php
Speichere den Rückgabewert von strlen in einer Variablen (z.B. $size) Gib diese als weiteren Parameter in der Funktion fwrite an.
Gruss AndreD