Datei online bearbeiten
7548 - ntmb - 07.01.2007 16:13 Uhr - Version: 2 - - verlinken als BB-Code
In Diesem Tutorial möchte ich euch gerne Erklären, wie man eine Dateie online von der Webseite aus editieren kann.
1 |
<?
|
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
Mitglieder-Kommentare
#2 von chrisboy
kann man auch was einbauen. das nur eine URL z.b. http://www.urlaub.jpg eingefügt werden kann und das der User kein misst baut?
Hobby-Stadion.de - Das Online Fotoportal