Tutorials

Datei online bearbeiten Tutorial

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
anzeigen
Datei online bearbeiten
Datei online per Formular bearbeiten.

5444 - 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
$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 Smily NR:7

Ich hoffe ich konnte euch gut genug erklären wie dieses Script funktioniert.

mfg Eugen

Mitglieder-Kommentare


#12 von Pac
egal, ich mache es mit includen
#11 von ntmb
Ich kann dir leider nicht ganz folgen...
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#10 von Pac
hast du auch ein script für eine bestimmte textstelle zu bearbeiten, falls man nicht immer das design dort mit in den editor haben will?
#9 von zerfleischer
Wo liegen deine Probleme?
Hast du es einfach nur Kopiert und eingefügt oder hast du dir das auch durchgelesen und verstanden?

Du must uns schon anhaltspunkte geben damit wir dir helfen können.

Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#8 von Lars-marcel
bei mir funkt das net....
#7 von DJ Madhead
Sehr hilfreich!

Danke!!!! Smily NR:8
#6 von chrisboy
okay - danke ich werde mal schauen
#5 von ntmb
Hm, dieses Tutorials ist für sowas aber gar nicht passend, da müsstest du eher Tutorials im Bereich Upload und Passwortschutz gucken.

Gruß
Eugen
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen
#4 von chrisboy
wenn ich die Datei ändern will und anderen Rechte gebe bzw ein Passwirt für die Seite zum ändern... und das dir nur eine URL eingeben könntn die auf jpg. oder .png enden.
#3 von ntmb
Ich kann leider nicht nachvollziehen, was du genau wissen möchtest...
Der freundliche Admin aus der Nachbarschaft
Lachecke.de - Dein täglicher Lacher im Internet
Listrank.de - Die ultimative Topliste nach Themen

« 1 2 »

Nur registrierte Mitglieder könnten einen Kommentar schreiben.

Melde dich doch ganz einfach an, es ist kostenlos. :-)