Simple éditeur PHP de fichiers texte

j'ai développé un site pour un client et il veut être en mesure de modifier une petite partie de la page principale dans un backend type de solution. Donc comme solution, je veux ajouter un éditeur très basique (domain.com/backend/editor.php) que lorsque vous le visitez, il aura un champ texte avec le code et un bouton Enregistrer. Le code qu'il éditera sera placé dans un fichier TXT.

je suppose qu'une telle chose serait facile à coder en PHP mais google ne m'a pas aidé cette fois donc j'espère que il y a peut être quelqu'un ici qui pourrait m'indiquer la bonne direction. Notez que je n'ai aucune expérience dans la programmation PHP, seulement HTML et JavaScript de base donc s'il vous plaît être complet dans toute réponse que vous fournissez.

18
demandé sur Alehandro Darie 2011-11-22 16:38:56

7 réponses

vous créez un formulaire HTML pour éditer le contenu du fichier texte. Dans le cas où il est soumis, vous mettez à jour le fichier texte (et redirigez à nouveau vers le formulaire pour éviter les Avertissements F5 / Refresh):

<?php

// configuration
$url = 'http://domain.com/backend/editor.php';
$file = '/path/to/txt/file';

// check if form has been submitted
if (isset($_POST['text']))
{
    // save the text contents
    file_put_contents($file, $_POST['text']);

    // redirect to form again
    header(sprintf('Location: %s', $url));
    printf('<a href="%s">Moved</a>.', htmlspecialchars($url));
    exit();
}

// read the textfile
$text = file_get_contents($file);

?>
<!-- HTML form -->
<form action="" method="post">
<textarea name="text"><?php echo htmlspecialchars($text) ?></textarea>
<input type="submit" />
<input type="reset" />
</form>
35
répondu hakre 2015-11-04 08:23:59

Pour lire le fichier:

<?php
    $file = "pages/file.txt";
    if(isset($_POST))
    {
        $postedHTML = $_POST['html']; // You want to make this more secure!
        file_put_contents($file, $postedHTML);
    }
?>
<form action="" method="post">
    <?php
    $content = file_get_contents($file);
    echo "<textarea name='html'>" . htmlspecialchars($content) . "</textarea>";
    ?>
    <input type="submit" value="Edit page" />
</form>
3
répondu Niels 2011-11-22 12:49:36

Vous êtes fondamentalement à la recherche d'un concept similaire à celui d'un contact-forme ou similaire.

Appliquer les mêmes principes à partir d'un tutoriel comme celui-ci et au lieu d'envoyer un e-mail en utilisant mail découvrez le fonctions de fichier