Du bist hier: Startseite » Tutorials » Datei online bearbeiten TutorialIn Diesem Tutorial möchte ich euch gerne Erklären, wie man eine Dateie online von der Webseite aus editieren kann.
CODE:
<?
$file="datei.txt"; // CHMOD 777
if(!file_exists($file)){ echo "Die Datei <u>$file</u> existiert nicht! :-(\n"; }
else
{
if(isset($_POST[ok])){
$datei_speichern=@fopen("$file","w");
if(!@fwrite($datei_speichern,$_POST['text']))
echo "Es ist ein Fehler aufgetretten beim Editieren der Datei! :-(\n";
else
echo "Die Datei <u>$file</u> wurde editiert! :-)\n";
@fclose($datei_speichern);
}
ob_start();
readfile($file);
$html=ob_get_contents();
ob_end_clean();
echo '<form action="" method="POST">
<input type="hidden" name="ok" value="1">
<textarea name="text" cols="50" rows="5">'.htmlspecialchars($html).'</textarea><br>
<input type="submit" value="speichern">
</form>';
}
?>
Erklärung:
Man muss bei $file angeben welche Datei editiert werden soll, diese benötig Schreibrechte (CHMOD 777).
Dann wird bei dem Script abgefragt, ob die angegebene Datei
nicht existiert und anschließend abgebrochen, ansonsten (else) geht es weiter mit dem Script.
Weiter unten bei dem Script sieht man eine echo Ausgabe, diese stellt den Html-Code mit dem Formular für das Editieren der Datei dar.
Das Formular ist so aufgebaut:
Start
- unsichtbares Feld mit dem Wert = 1
- textarea hier wird der Text/Inhalt der zum editieren Datei ausgegeben*
- Button zum Versenden
Ende
* Der Inhalt der Datei muss zusätzlich noch mit htmlspecialchars versehen werden, ansonsten würden die ganzen Zeichen <, >, .... nicht abgeändert werden und dies hätte zu Folge das man einen Bug im Script hat und man einfach nur mit </textarea> die textarea beenden kann und danach würde der folgende Textdann nicht mehr zu textarea gehören.
Mehr zu ob_start();
Hiermit kann man Dinge ausführen lassen und dann mit ob_get_contents(); einer Variable zuweisen, in diesem Fall $html. Dies benötigt mann alles weil man ansonsten readfile nicht einer Varable zuweisen kann. Mit ob_end_clean(); wird dies dann beendet.
Was beim Versenden passiert:
Wenn man den Inhalt nach seinen Wünschen angepasst hat und auf speichern geklickt hat, dann wird weiter oben im Script die Frage gestellt ob $_POST[ok] gegeben ist, diese Variable wurde einen Wert zugewiesen und zwar 1 (siehe Aufbau Formular).
Dann wird die Datei editiert, aber dies wird mit einer Abfrage versehen und zwar wenn die Datei
nicht editiert wurde, dann wird ausgegeben, dass es einen Fehler gab beim Edtieren, ansonsten wird ausgeben das die Datei .... editiert wurde.
Viel Spass damit
Ich hoffe ich konnte euch gut genug erklären wie dieses Script funktioniert.
mfg Eugen
#12 von
Pac
#11 von

ntmb
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#10 von
Pac
#9 von

zerfleischer
Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#8 von
Lars-marcel
#7 von
DJ Madhead
#6 von

chrisboy
#5 von

ntmb
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#4 von

chrisboy
#3 von

ntmb
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
Nur registrierte Mitglieder könnten einen Kommentar schreiben.
Melde dich doch ganz einfach an, es ist kostenlos. :-)