Camacho: Groessere Mengen Text in Datei speichern (fwrite)

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

  1. 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

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. Hallo,

        ...und mit <form method="post" action="faq_update_essentials.php"> ging's!

        Anstatt welcher Angabe?

        AndreD

        1. ...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é

          1. 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

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
      2. Hi,

        ...und mit <form method="post" action="faq_update_essentials.php"> ging's!

        das ist kein gültiges HTML. Entferne die Backslashes.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. 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

    1. 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

      1. 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