Tutorial Editor für Textdateien am Server über PHP laden und bearbeiten

Dieser Editor erlaubt es Texte ‘online’ in einem Verzeichnis seiner Wahl zu erstellen und zu editieren oder auch wieder zu löschen. Der Editor ist lediglich ein kleines Formular mit einem PHP-Skript, welches die Texte erstellt oder editiert.

Das ist z.B. praktisch, um dynamische Texte zu erstellen, die man dann mit anderen Skripten wieder an beliebigen Stellen seiner Website anzeigen lassen könnte, wie z.B. mittels PHP-Include.

Um dieses Skript direkt in NOF einzubauen, kopiert Ihr Euch lediglich den Teil von <?php bis ?> aus dem Skript heraus. Erstellt Euch am Server ein Verzeichnis für die Textdateien und gebt den relativen Pfad zu diesem Verzeichnis im Skript an - hier Verzeichnis texte, das hier im gleichen Verzeichnis wie die Seite mit dem Skript liegt. Tragt Euer Passwort ein, damit Ihr die Texte eintragen und editieren könnt. Ändert den Seitennamen für die Formular-Aktion auf den Namen Eurer Seite, auf der Ihr das eingebaut habt (hier auf meiner Startseite index.php).

            <?php
            // Passwort
            $passwort = "hier Dein Passwort eintragen";

            // Verzeichnis am Server erstellen - hier 'texte/'
            $verzeichnis = "texte/";

            // Die Dateiendung der Dateien die mit
            // diesem Formular bearbeitet werden kann.
            $dateiendung = "txt"; // Ohne Punkt!

            // Datei speichern
            if ($_SERVER["REQUEST_METHOD"] == "POST") {

             // Passwort überprüfen
             if ($_POST["passwort"] === $passwort &&
                 // Sind alle Formularfelder ausgefüllt
                 !empty($_POST["dateiname"]) &&
                 !empty($_POST["text"])) {

              // Speichern
              if ($_POST["option"] == "speichern") {
               if (file_put_contents($verzeichnis . $_POST["dateiname"] . '.' . $dateiendung, $_POST["text"])) {
                echo '<p>Die Datei wurde erfolgreich gespeichert.</p>';
               }
               else {
                echo '<p>Fehler beim speichern der Datei!</p>';
               }
              }

              // Löschen
              if ($_POST["option"] == "loeschen") {
               if (unlink($verzeichnis . $_POST["dateiname"] . '.' . $dateiendung)) {
                echo '<p>Die Datei wurde erfolgreich gelöscht.</p>';
               }
               else {
                echo '<p>Fehler beim löschen der Datei!</p>';
               }
              }
             }
            }

            // Datei öffnen
            if (isset($_GET["datei"])) {
             if (file_exists($verzeichnis . $_GET["datei"])) {

              // Den Dateinamen ermitteln
              $dateiname = basename($_GET["datei"]);
              $pos = strpos($dateiname, ".");
              $dateiname = substr($dateiname, 0, $pos);

              // Die Dateiendung überprüfen
              $dinfo = pathinfo($_GET["datei"]);
              if ($dinfo['extension'] == $dateiendung) {
               $text = file_get_contents($verzeichnis . $_GET["datei"]);
              }
             }
            }
            // Neue Datei
            else {
             $dateiname = "";
             $text = "";
            }
            ?>

            <form action="index.php" method="post">

            <p>
             <label>Dateiname:
             <input type="text" size="25" name="dateiname" value="<?php echo $dateiname; ?>" required="required"></label>
            <small>.<?php echo $dateiendung; ?></small>
            </p>

            <p>
            <label>Text:<br>
             <textarea name="text" rows="10" cols="35" required="required"><?php echo $text; ?></textarea>
            </label>
            </p>

            <p>
             <label>Passwort: <input type="password" name="passwort" required="required"></label>
            </p>

            <p>
             <label><input type="radio" name="option" value="speichern" checked="checked"> Datei speichern</label>
             <label><input type="radio" name="option" value="loeschen" required="required"> Datei löschen</label>
            </p>

            <p>
            <input type="submit" value="Absenden">
            </p>

            </form>

            <h3><span style="font-weight: bold;">Dateien</span>:</h3>

            <?php
            // Verzeichnis auslesen und ausgeben
            foreach (glob($verzeichnis . "*." . $dateiendung) as $datei) {
             echo '<a href="?datei=' . basename($datei) . '">' . basename($datei) . '</a><br>';
            }
            ?>

Fügt das so vorbereite Skript in den HTML-Code Editor eines Textfeldes ein. Die Seite mit diesem Skript muss natürlich auf die Dateierweiterung .php umgestellt sein und PHP muss am Server vorhanden sein.

... um den Inhalt einer Textdatei dann mittels PHP-Include auf irgendeiner Eurer Seiten anzuzeigen, zieht Ihr Euch ein Textfeld auf und fügt den Include-Befehl entsprechend in den HTML-Code Editor des Textfeldes ein (achtet dabei wieder auf die korrekte, relative Pfadangabe zur Textdatei):

<?php include ("./texte/Textdemo.txt"); ?>

PHP-Include

Viel Spaß!

Tutorials von Thomas Frei-Herrmann

diese Seite weiter empfehlen


Counter Statistik