Hallo Gerade fange ich an mich mit php-Programmierung zu beschäftigen. Jetzt würde ich gerne meine erstellten Skripte im Browser editieren. Gerne einfach so, das der Dateiname per GET an die Editor.php übergeben wird. Ja, es gibt solche Systeme auch für ganze Projekte: ICEditior, Cloud9 etc. Ich möchte es aber gerne viel kleiner, aber gerne mit einem Code-Highlighting. Hat jemand von Euch solch ein Skript? Olaf Nachtrag: Das Verzeichnis ist über die htaccess geschützt, daher habe ich keine Angst, dass mir jemand den Server übernimmt.
Da nimmt man einfach den CKEditor. Und schreibt ein PHP-Script, was eine Seite mit <script src="ckeditor.js"> und eine gefüllte <textarea> ausliefert. Nach den Submit schreibt dein PHP-Script die gepostete Textarea wieder in die Datei.
Danke, das sieht genau so aus, wie ich es mir vorgestellt hatte! Nur verstehe ich noch nicht, wie in dem Skript hier: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CKEditor</title> <script src="//cdn.ckeditor.com/4.6.1/standard/ckeditor.js"></script> </head> <body> <textarea name="editor1"></textarea> <script> CKEDITOR.replace( 'editor1' ); </script> </body> </html> die zu editierende Datei aufgerufen werden soll.
Olaf schrieb: > [Wie] die zu editierende Datei aufgerufen werden soll. Noch einer schrieb: > eine gefüllte <textarea> > ausliefert. D.h. php schreibt sie in deine textarea, fertig.
Planlos schrieb: > Olaf schrieb: >> [Wie] die zu editierende Datei aufgerufen werden soll. > D.h. php schreibt sie in deine textarea, fertig. Die Frage zielte vermutlich eher darauf ab, wie der Name/Pfad der zu editierenden Datei angegeben werden kann. Ansonsten: Eine ganz ähnliche Frage wurde hier vor zwei Wochen schon mal gestellt (Beitrag "Webserver Zugriff auf Dateien, wie programmieren"). In diesem Thread habe ich auch mal ein ganz einfaches PHP-Script zu diesem Zweck gepostet: https://www.mikrocontroller.net/attachment/312124/edit_file.php Dieses Script würde mit einer kleinen Änderung auch Deinen Zweck erfüllen. Passend zur Frage des damaligen Threads ist der Dateiname der zu editierenden Datei in diesem Script festgelegt; um damit jede beliebige Datei zu editieren, sollte es eigentlich genügen, die erste Zeile entsprechend zu ändern, dass statt eines festen Dateinamens ein HTTP GET-Parameter extrahiert wird. Da das verlinkte Script aber eh minimalistisch ist und keinerlei Syntax-Highlighting o.Ä. beherrscht, ist es aber im Endeffekt vermutlich doch sinnvoller, auf eine komplexe und beliebte Lösung zurückzugreifen, wie es dieser CKeditor offenbar ist.
Hallo Joachim Danke für den Hinweis auf den bestehenden Thread. Das Skript macht zwar das was ich möchte und auch die Möglichkeit den Dateinamen über die URL anzugeben habe ich verwirklichen können, (Danke für den Hinweis, damit war es dann echt nicht mehr schwer), nur wird bei der zu editierenden Datei immer \ vor die " gesetzt. Und zwar jedes Mal, sodass es nach dreimaligem Speichern so aussieht: <html lang=\\\\\\\"de\\\\\\\" dir=\\\\\\\"ltr\\\\\\\"> Wie kann man das Verhindern? Und ist es möglich das Codehighlighting nachträglich einzubauen?
Olaf schrieb: > nur wird bei der zu editierenden Datei immer \ vor die " gesetzt. > Und zwar jedes Mal, sodass es nach dreimaligem Speichern so aussieht: > > <html lang=\\\\\\\"de\\\\\\\" dir=\\\\\\\"ltr\\\\\\\"> > > Wie kann man das Verhindern? Ich habe leider nicht sonderlich viel Erfahrung mit PHP, das kann ich mir gerade auch nicht erklären. Bei einem kurzen Test eben konnte ich dieses Phänomen leider auch nicht reproduzieren, da schien es zu funktionieren. Könnte vielleicht mit der Konvertierung Roh-Text <-> HTML-sichere Zeichen zu tun haben, die im Script durch htmlspecialchars() vorgenommen wird. Wobei das auch nicht so recht erklärt, warum das Phänomen bei mir nicht aufzutreten scheint. Einer kurzen Google-Suche zufolge könnte es evtl. auch mit einer Einstellung namens "Magic Quotes" zu tun haben. Die scheint es allerdings auch nur bei älteren PHP-Versionen gegeben zu haben. (http://php.net/manual/de/security.magicquotes.php) > Und ist es möglich das Codehighlighting nachträglich einzubauen? Irgendwie bestimmt, aber die Mühe wird sich für ein derart minimalistisches Script wohl keiner machen. ;-)
Hallo Die PHP Version ist 5.5.28 und aus der php-ini folgt folgendes: magic_quotes_gpc On On magic_quotes_runtime Off Off magic_quotes_sybase Off Off Schlau werde ich da aber auch nicht raus :-(
Ok, der Eintrag: php_flag magic_quotes_gpc off in die .htaccess scheint das Problem zu beheben.
Olaf schrieb: > magic_quotes_gpc On On Dann dürfte an dieser Einstellung evtl. das Problem liegen. Wobei ich das nicht ganz verstehe, denn Du schreibst ja... > Die PHP Version ist 5.5.28 ...und ich hätte folgende Information auf der Info-Seite zu Magic Quotes: "Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und seit PHP 5.4.0 ENTFERNT." jetzt so interpretiert, dass es diese ominösen "Magic Quotes" in Deiner PHP-Version 5.5 eh nicht mehr gibt.
Joachim S. schrieb: >> Die PHP Version ist 5.5.28 Verdammt, Tippfehler. Da muss 5.3.28 stehen. Dann passt es auch wieder mit 5.4 ENTFERNT. Sorry für die Verwirrung. Hier noch ein Skript, was etwas umfangreicher aussieht: https://sourceforge.net/projects/editarea/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.