PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Filemanager Erweiterung



webghost
13.05.2007, 16:51
Hallo,

auf der Suche nach nem Script um Dateien online zu bearbeiten hat mich Google hierher geführt.

nun hab ich mir mal den Filemanager angesehen und bemerkt dass dieses Script auch ne gute Basis für meine Zwecke ist. Und zwar gehts mir drum *.php Dateien online zu bearbeiten.

Wär ja keine grosse Sache, nur möchte ich nicht die ganze Datei in einer Textarea öffnen, sondern x markierte Teile in mehreren Feldern bearbeiten können.

Beispiel einer Datei:


$FW_H1='<!--###marker_input###-->Überschrift<!--###marker_input_end###-->';
$FW_titleText='<!--###marker_input###-->text<!--###marker_input_end###-->';
define("FW_INFO", "<!--###marker_area###-->html-text<!--###marker_area_end###-->");
define("FW_ROW_1", "<!--###marker_area###--><h2>überschrift2</h2>
<p>text</p><!--###marker_area_end###-->");
ich möchte den Wert jeder einzelnen Variablen und Konstanten in einem eigenen eingabefeld bearbeiten können.

wär das möglich den Filemanager so zu erweitern dass man die markierten Bereiche einzeln bearbeiten könnte, ohne den restlichen Code auszugeben?

Gruss
webghost

Mikes-PCHilfe
13.05.2007, 20:10
Hi und Willkommen,

d.h. du hast mehrere PHP Dateien in einem Ordner die unter anderem oben genannten Text enthalten.

Diese 2 Variablen sollen jetzt bearbeitet werden?

Das sollte kein Thema sein, sofern die Variablen immer in einer Zeile stehen.
Mit einem fopen auf die PHP Datei, danach die Datei Zeilenweise durchlaufen, nach dem Eintrag suchen der mit $FW_H1 beginnt und dann diese Zeile ausgeben.

Den Wert der Zeile in einem Array in einer Session speichern und beim speichern von den Felder, in der php-datei ein str_replace machen, wo du die Zeile die du eben ausgelesen hast, durch die Zeile was du in deinem Inputfield eingegeben hast.

Grüße Mike

webghost
15.05.2007, 20:40
hallo Mike,

sorry, ich melde mich etwas spät zurück, hab vergebens auf ne Benachrichtigung vom Board gewartet:o

zum Thema
Das genannte Beispiel ist nur ein kleiner Ausschnitt aus einer Datei. Eine Datei enthält zwischen 20 und 30 zu bearbeitende Variablen, wovon manche Werte über mehrere Zeilen gehen, wodurch sich alle darunterliegenden Zeilen verschieben. Die einzelnen Variablen sind also je nach Inhalt der vorangegangenen Variablen nicht mehr am selben Platz.

Somit wird wohl die Bearbeitung über Zeilennummern nicht funktionieren, daher wollte ich die entsprechenden Stellen markieren.

Gewünschtes Resultat wäre ein Formular mit ein- und mehrzeiligen Eingabefeldern um die entsprechenden Stellen in der .php zu bearbeiten.

Siehst Du da eine Lösung?

Mikes-PCHilfe
15.05.2007, 21:24
Hallo,

wenn jede Datei identisch aufgebaut ist, nur andere Variablen Inhalte hat, ja.

Beim einlesen, die php datei includen und die variablen in die textformulare einlesen.

Beim speichern schreibst du einfach ein komplett neues File, was du wieder mit dem $_POST Werten und den Variablen Namen in einem großen String zusammenbaust.

Anschließend mit fwrite die php-datei überschreiben.

Grüße Mike

webghost
15.05.2007, 21:53
ach so, Du meinst direkt den Wert über den Namen der Variablen aufrufen.

Das würde also gehen so lange immer die selben Variablen in der entsprechenden Datei stehen, egal in welchen Reihenfolge und auf welcher Zeile.

versteh ich Dich da richtig?

hab wohl vergessen zu erwähnen dass ich von php nur eher schlechte Grundkenntnisse habe :o

Mikes-PCHilfe
16.05.2007, 08:05
Hallo,

ja genau, wo die Variablen stehen ist dann egal beim auslesen.

Und beim speichern schreibt man den Text einfach in diese Variable wieder weg und erzeugt ein neues php file.

Grüße Mike

webghost
16.05.2007, 21:00
hallo,

Das wär ja eigentlich genau das was ich brauche. Nur krieg ich das selbst wohl kaum vernünftig hin.

Wärs möglich dass Du mir das irgendwann mal schreibst? Natürlich nicht umsonst.

Gruss webghost

Mikes-PCHilfe
17.05.2007, 10:09
Klaro :)

Schick mir mal 2-3 PHP Dateien (Mit den Variablen) an scripts@migo-webdesign.de
Ich schau mirs dann genau an und meld mich bei dir wieder.

Grüße Mike