Ändern einer Datei im Webbrowser
  • PHP muss installiert sein
  • die unten aufgeführte Datei muss extra über eine .htaccess-Datei(o.ä) in einem extra Verzeichnis abgesichert werden sonst kann jeder der darauf Zugriff hat editieren!
  • Webseite wegen nsa/fsb verschlüsseln!
  • die zu bearbeitende Datei muss für www-data schreibbar sein.
php-edit.php
<?php
//irgendwann irgendwo im Netz gefunden und abgeändert
//statisch eintragen der zu ändernden Datei
$files = array ('/daten/mercurial/myproject/.hg/hgrc');
 
//HTML
header("Cache-Control: pre-check=0",false);
header("Pragma: no-cache");
echo '<html>';
echo '<head><title>Dateieditor.php</title></head>';
echo '<body>';
 
if(!isset ($_POST['abgeschickt'])) {
    echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
    foreach ($files as $key => $val) {
        if (file_exists($val)) {
            echo '
 
<br><b>' . $val . '</b><br>
';
            echo '<textarea name="datei[' . $key . ']" style="width: 800px; height: 600px;">';
            echo  file_get_contents($val);
            echo '</textarea></p>';
        }
    }
    echo '
 
<input type="submit" name="abgeschickt" value="senden" /></p>';
    echo '</form>';
} else {
    foreach ($_POST['datei'] as $key => $val) {
        if (isset($files[$key]) && file_exists($files[$key])) {
            $myfile = str_replace("\r","",$val); // hier CR aus $val entfernen
            if (file_put_contents($files[$key], $myfile)) {
                echo 'Datei ' . $files[$key] . ' wurde erfolgreich geschrieben !
';
            } else {
                echo 'Datei ' . $files[$key] . ' wurde nicht geschrieben !
';
            }
 
        }
   }
}
 
echo '</body>';
echo '</html>';