Ergebnis 1 bis 15 von 15

Thema: [PHP] Txt Datei anzeigen und speichern...?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [PHP] Txt Datei anzeigen und speichern...?

    ich hab da mal kurz ne frage:

    ich moechte gerne eine TXT datei auf meinem server in einem textfeld auf einer seite anzeigen lassen, diese dann nach belieben editieren und auch speichern koennen. alles von einer html seite aus.
    jetzt isses aber so, dass ich in der txt einen html quelltext stehen hab, daher is PHP include() schon mal hinfaellig. aber wie wuerde ich dass dann anstellen? kann mir vielleicht da jemand ein kleines beispiel posten wie ich das am besten mache?

    thx alot,
    A2k

  2. #2
    Zum anzeigen Stimmt include();...

    Könntest ja acuh php sachen reinschreiben aber nicht auf die
    PHP-Code:
    <?php
    //code
    ?>
    vergessen xD

    Zum editieren machste dann fwrite()

    Guck am besten mal auf php.net

    Ich hoff das ich helfen konnte

    mfg

    edit();

    Öhm machs mal so:

    Du machst ne Textarea (<textarea>)
    Dazwischen machste das include()
    Und dann </textarea>

    Dann bleibt der Text so wie er in der .txt steht und man kann ihn auch gleich bearbeiten =P

    Geändert von ice cold killa (31.08.2006 um 09:51 Uhr)

  3. #3
    Include ist nicht sonderlich toll, weil dann php Code ausgeführt wird. Folgendes würde ich vorschlagen (vereinfacht dargestellt)

    PHP-Code:
    <?php
      
    if($_POST['text'])
        
    file_put_contents('datei.txt'$_POST['text']);
    ?>
    <form action="textedit.php" method="post">
      <textarea name="text"><?php echo file_get_contents('datei.txt'); ?></textarea>
      <input type="submit" name="submit" value="Speichern" />
    </form>
    In einem Textfeld sollte HTML-Code eigentlich nicht geparst werden und wenn doch, packste noch htmlentities() um das file_get_contents().

    Geändert von DFYX (31.08.2006 um 11:19 Uhr)

  4. #4
    Zitat Zitat von DFYX
    In einem Textfeld sollte HTML-Code eigentlich nicht geparst werden [...]
    Falsch. In einer <textarea> befinden sich geparste Zeichendaten, wie beispielsweise auch im <title> Tag. Obwohl HTML darin nicht erlaubt ist müssen die Sonderzeichen &, <, >, " und ' maskiert werden (&amp;, &lt;, &gt;, &quot; und &#39. Vor allem '</' ist dabei gefährlich. Aber ja, htmlentities() oder htmlspecialchars() sorgt für Abhilfe.

    Weitere Anmerkung:
    file_get_contents() gibt es erst ab PHP 4.3 und
    file_put_contents() erst ab PHP 5.
    Glaube aber, dass es für PHP 4 eine PEAR Klasse gibt die letztere Funktion emuliert (Wo hatte ich das nur gelesen, glaube hier im Forum x.x).

  5. #5
    Zitat Zitat von mitaki
    Glaube aber, dass es für PHP 4 eine PEAR Klasse gibt die letztere Funktion emuliert (Wo hatte ich das nur gelesen, glaube hier im Forum x.x).
    Notfalls macht man einfach...
    PHP-Code:
    if(!function_exists("file_put_contents"))
    {
      function 
    file_put_contents($filename$data)
      {
        
    $f=fopen($filename"w");
        
    fwrite($f,$data);
        
    fclose($f);
      }


  6. #6
    Code:
    <?php 
      if($_POST['text']) 
        file_put_contents('news_index.txt', $_POST['text']); 
    ?> 
    <form action="textedit.php" method="post"> 
      <textarea name="text"><?php echo file_get_contents('news_index.txt'); ?></textarea> 
      <input type="submit" name="submit" value="Speichern" /> 
    </form>
    hab mir das alles mal bisher so zusammengebastelt, lediglich eine sache ist mir noch unklar. bei <form action="textedit.php"> wird der inhalt des textfelds diese datei weitergeleitet (zum parsen), jedoch will ich nicht das da irgendwas geparst wird. ich will das der inhalt des textfelds genauso wie er ist in die textdatei (index_news.txt) geschrieben wird, und wenn notwendig, sollte der inhalt der textdatei überschrieben werden.

    thx alot
    A2k

  7. #7
    Zitat Zitat von Armitage2k
    Code:
    <?php 
      if($_POST['text']) 
        file_put_contents('news_index.txt', $_POST['text']); 
    ?> 
    <form action="textedit.php" method="post"> 
      <textarea name="text"><?php echo file_get_contents('news_index.txt'); ?></textarea> 
      <input type="submit" name="submit" value="Speichern" /> 
    </form>
    hab mir das alles mal bisher so zusammengebastelt, lediglich eine sache ist mir noch unklar. bei <form action="textedit.php"> wird der inhalt des textfelds diese datei weitergeleitet (zum parsen), jedoch will ich nicht das da irgendwas geparst wird. ich will das der inhalt des textfelds genauso wie er ist in die textdatei (index_news.txt) geschrieben wird, und wenn notwendig, sollte der inhalt der textdatei überschrieben werden.

    thx alot
    A2k
    Was genau meinst du mit "das wird weitergeleitet zum parsen"? Wenn du im Script nichts tust als das ganze zu speichern wird auch nichts "geparst".

  8. #8
    ich hab da ein bisschen umständlich ausgedrückt. hier ist mal alles was ich bisher so alles am ursprünglichen code gedreht hab:

    Code:
    <?php 
      if($_POST['text']) 
        file_put_contents('index_news.txt', $_POST['text']); 
    ?> 
    <form method="post" action="textedit.php" name="source_edit" id="formular">
    	<table>
    		<tr>
    			<td style="padding:2px"><strong>News_Index.txt Source Inhalt:</strong></td>
    		</tr>
    		<tr>
    			<td style="padding:2px">
    				<textarea cols="140" rows="15" name="text">
    				
    				<?php echo file_get_contents('index_news.txt'); ?>
    				
    				</textarea>
    			</td>
    		</tr>
    		<tr>
            <td style="padding:2px">•</td>
            <td style="padding:2px">
    <br />
    <center>
              <input name="submit" type="submit" id="speichern" value="Speichern" />
              <input name="loeschen" type="reset" id="loeschen" value="Zur&uuml;cksetzen" />
    </center>
            </td>
           </tr>
          </table>
         </form>
    Mein Problem ist jetzt diese Zeile
    Code:
    <form method="post" action="textedit.php" name="source_edit" id="formular">
    Der Inhalt des Textfeldes wird an die Datei Textedit.php geposted, welche normalerweise einen PHP Code zum parsen beinhaltet. Da ich aber keine solche Datei erstellt habe, kann er den Post-Befehl nicht ausführen, ergo wird nichts in die Textdatei geschrieben.
    Also bleibt mir nur die Frage, wenn ich die Textedit.php Datei erstellt habe, was ich da reinschreiben muss damit der Inhalt des Textfelds genauso in der Textdatei gespeichert wird wie er ist?

    Ich hoffe das ist jetzt ein bisschen verständlicher.
    Thx,

    A2k

  9. #9
    Zitat Zitat von Armitage2k
    2. Was soll ich da reinschreiben damit der Inhalt des Textfelds genauso in der Textdatei gespeichert wird wie er ist?
    Die Datei in der
    PHP-Code:
    <?php 
      
    if($_POST['text']) 
        
    file_put_contents('index_news.txt'$_POST['text']); 
    ?>
    Der Code zum speichern steht.

    Irgendwie hab ich das Gefühl, dass du nicht ganz verstanden hast, was der bewirkt. Das ist nicht gut. o.o

  10. #10
    Zitat Zitat von Fu
    Die Datei in der
    PHP-Code:
    <?php 
      
    if($_POST['text']) 
        
    file_put_contents('index_news.txt'$_POST['text']); 
    ?>
    Der Code zum speichern steht.

    Irgendwie hab ich das Gefühl, dass du nicht ganz verstanden hast, was der bewirkt. Das ist nicht gut. o.o

    Da hast du absolut recht

    Hab jetzt den file_put_contents und file_get_contentsCode mal in meinem PHP Buch nachgeschlagen und langsam krieg ich ne Vorstellung davon was eigentlich los ist
    Aber dann erlaub mir noch schnell ne N00B Frage: Wofür brauch ich dann den <form action="textedit.php"> Tag und was soll dann der Verweis auf diese Datei?

    Sorry für derartige Fragen, aber irgendwie hab ich grad nen Knoten im Hirn.

    Geändert von Armitage2k (03.09.2006 um 21:12 Uhr)

  11. #11
    Zitat Zitat von Armitage2k
    Hab jetzt den file_put_contents und file_get_contentsCode mal in meinem PHP Buch nachgeschlagen und langsam krieg ich ne Vorstellung davon was eigentlich los ist
    Gut so.
    Zitat Zitat
    Aber dann erlaub mir noch schnell ne N00B Frage: Wofür brauch ich dann den <form action="textedit.php"> Tag und was soll dann der Verweis auf diese Datei?
    Mit FORM erstellt man ein HTML-Formular, eine Ansammlung von Informationen, die an ein Skript o.a. geschickt werden kann. Das ACTION-Attribut gibt an, wohin die Informationen geschickt werden sollen. In deinem Fall müssen sie an das Script, welches sie in die Datei schreibt geschickt werden. Also das Script mit dem file_put_contents().

    Geändert von Dingsi (03.09.2006 um 21:34 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •