Search code examples
phpeditorbackendhtml-editor

Simple PHP editor of text files


I have developed a site for a client and he wants to be able to edit a small part of the main page in a backend type of solution. So as a solution, I want to add a very basic editor (domain.com/backend/editor.php) that when you visit it, it will have a textfield with the code and a save button. The code that it will edit will be set to a TXT file.

I would presume that such thing would be easy to code in PHP but google didn't assist me this time so I am hoping that there might be someone here that would point me to the right direction. Note that I have no experience in PHP programming, only HTML and basic javascript so please be thorough in any reply that you provide.


Solution

  • You create a HTML form to edit the text-file's content. In case it get's submitted, you update the text-file (and redirect to the form again to prevent F5/Refresh warnings):

    <?php
    
    // configuration
    $url = 'http://example.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((string)$text); ?></textarea>
    <input type="submit" />
    <input type="reset" />
    </form>