Textarea mit show_source
Samuel Vogel
- php
Hallo,
Ich will mit show_source den Quelltext einer Datei lesen und bearbeiten, also in der textarea soll der Quelltext schon drin stehen!
Mein script:
<?php
echo "<form><textarea cols='50' rows='20'>";
show_source("./index.php");
echo "</textarea></form>";
?>
Das show_source zeigt mir immer irgendeinen Quelltext an aber nicht den der Datei index.php. Und wenn ich die textarea weglasse funktioniert das schow_source auch nur in der textarea nicht.
Bitte helft mir?
samy,
Halihallo Samuel
Ich will mit show_source den Quelltext einer Datei lesen und bearbeiten, also in der textarea soll der Quelltext schon drin stehen!
Bitte, bitte, bitte, veröffentliche dieses Script _nie_ an einem öffentlich zugänglichen
Ort wie dem Internet! - Jeder kann igendeinen Quelltext reinsetzen und unfug damit
treiben.
<?php
echo "<form><textarea cols='50' rows='20'>";
show_source("./index.php");
echo "</textarea></form>";
?>
Wie dir den Quellcode der _HTML_ Datei an. show_source erzeugt HTML und kein Text wie
es deiner Meinung nach in die Textarea gehört.
Das show_source zeigt mir immer irgendeinen Quelltext an aber nicht den der Datei index.php.
Doch tut es, nur eben in HTML.
Und wenn ich die textarea weglasse funktioniert das schow_source auch nur in der textarea nicht.
Setze dort normalen Text ein. Diesen kriegst du über ganz normales auslesen des Scriptes
über fopen,fread,fclose (s. Dokumentation auf http://www.php.net).
Viele Grüsse
Philipp
Hallo,
Moin
Ich will mit show_source den Quelltext einer Datei lesen und bearbeiten, also in der textarea soll der Quelltext schon drin stehen!
Ne, das geht so nicht! show_source highlighted IMHO die datei, du willst aber nur den inhalt in den (das?) textarea einfügen.
include() ist dein freund!
Mein script:
<?php
echo "<form><textarea cols='50' rows='20'>";
include("./index.php");
echo "</textarea></form>";
?>
Das show_source zeigt mir immer irgendeinen Quelltext an aber nicht den der Datei index.php. Und wenn ich die textarea weglasse funktioniert das schow_source auch nur in der textarea nicht.
Hm... du solltest wissen welcher quelltext das ist!
Alternativ könntest du auch die datei zeile für zeile auslesen um "irgendwelches zeug" zu entfernen.
Bitte helft mir?
Ja...?
samy,
Analpha
Halihallo AnalphaBestie
Ich will mit show_source den Quelltext einer Datei lesen und bearbeiten, also in der textarea soll der Quelltext schon drin stehen!
Ne, das geht so nicht! show_source highlighted IMHO die datei, du willst aber nur den inhalt in den (das?) textarea einfügen.
die? ;-)
include() ist dein freund!
Nein! - Das führt den PHP-Code aus, aber nicht ein.
Alternativ könntest du auch die datei zeile für zeile auslesen um "irgendwelches zeug" zu entfernen.
Oder optional jede Zeile für Zeile auslesen und in die Textarea schreiben, was ich für
die beste Lösung im Sinne der Aufgabenstellung halte.
Viele Grüsse
Philipp
Halihallo AnalphaBestie
Moin
Ne, das geht so nicht! show_source highlighted IMHO die datei, du willst aber nur den inhalt in den (das?) textarea einfügen.
die? ;-)
Du verarscht mich... oder?
include() ist dein freund!
Nein! - Das führt den PHP-Code aus, aber nicht ein.
OMG... Das hätt ich aber nach 2 sekunden test rausgefunden :))
Hast natürlich recht.
Alternativ könntest du auch die datei zeile für zeile auslesen um "irgendwelches zeug" zu entfernen.
Oder optional jede Zeile für Zeile auslesen und in die Textarea schreiben, was ich für
die beste Lösung im Sinne der Aufgabenstellung halte.
Hm hab ich nicht _genau_ das gesagt?
Zumindest bis auf "in die textarea schreiben", wobei ich das für selbstverständlich hielt ;)
(ich finde wir sollten uns auf "The textarea" einigen *SCRN*)
Viele Grüsse
Philipp
Mfg Analpha
Halihallo AnalphaBestie
Ne, das geht so nicht! show_source highlighted IMHO die datei, du willst aber nur den inhalt in den (das?) textarea einfügen.
die? ;-)
Du verarscht mich... oder?
Um ehrlich zu sein: Das weiss ich (noch) nicht :-)
Der, die, das? - Im Englischen ist alles "the", das lässt sich mit "das" am besten
übersetzen..? - Egal, hauptsache man versteht ;)
Alternativ könntest du auch die datei zeile für zeile auslesen um "irgendwelches zeug" zu entfernen.
Oder optional jede Zeile für Zeile auslesen und in die Textarea schreiben, was ich für
die beste Lösung im Sinne der Aufgabenstellung halte.
Hm hab ich nicht _genau_ das gesagt?
Ist bei mir zumindest nicht so angekommen, möglich dass ich müde werde.
Zumindest bis auf "in die textarea schreiben", wobei ich das für selbstverständlich hielt ;)
Tjo, dann haben wir das selbe gesagt ;)
Nach nochmaligem durchlesen und "implizieren" der Textarea auch völlig klar :-)
(ich finde wir sollten uns auf "The textarea" einigen *SCRN*)
the textarea. Bin einverstanden, aber nur unter einer Voraussetzung: "The" klein :-)
Viele Grüsse
Philipp
Hallo,
Danke für die Antwort!
Und ich hab noch ?ne Frage:
Kann man einen Download-Link angeben ohne das der Browser versucht die Datei zu öffnen (z.B. bei einer .html Datei), sondern sie sofort runter lädt. Und wenn es geht kann man das auch bei PHP-Dateien machen ohne das der PHP-Quelltext umgewandelt wird (bastle grad einen Datei Explorer in PHP und ohne FTP).
samy,
Halihallo Samuel
Kann man einen Download-Link angeben ohne das der Browser versucht die Datei zu öffnen (z.B. bei einer .html Datei), sondern sie sofort runter lädt.
Diese Frage findest du zu tausenden beantwortet im </archiv/>.
Suche nach "application/octet-stream" und "Content-Disposition: attachment".
Und wenn es geht kann man das auch bei PHP-Dateien machen ohne das der PHP-Quelltext umgewandelt wird (bastle grad einen Datei Explorer in PHP und ohne FTP).
Warum sollen PHP Dateien anders gehandhabt werden, als andere Ressourcen?
Viele Grüsse
Philipp
Hallo,
echo "<form><textarea cols='50' rows='20'>";
1. Fehler: Das FORM-Element muss AFAIK ein ACTION-Attribut haben.
show_source("./index.php");
2. moegliche Fehlerquelle: Die Pfadangabe.
Wenn die Datei im gleichen Verzeichnis ist, nimm doch einfach "index.php".
(Bin nicht sicher)
echo "</textarea></form>";
Das show_source zeigt mir immer irgendeinen Quelltext an aber nicht den der Datei index.php.
Bist Du sicher?
Hast Du begriffen, was show_source() macht?
Es wandelt den Quelltext so um, dass er vom Browser "bunt" angezeigt wird
(sog. Syntax-Highlighting), d.h. er wird massiv aufgeblasen mit <FONT>-Tags u.s.w.
Das ist nicht geeignet, um in einer Textarea angezeigt zu werden.
Versuch mal folgendes (nicht getestet!):
$str = implode("", @file("index.php")); /* siehe http://www.dclp-faq.de/q/q-datei-lesen.html */
$str = nl2br(htmlentities($str));
echo "<form action='#'><textarea cols='50' rows='20'>";
echo $str;
echo "</textarea></form>";
Gruesse,
Thomas
Hallo,
Moin
- Fehler: Das FORM-Element muss AFAIK ein ACTION-Attribut haben.
Naja, funktionieren tuts auch ohne ;)
show_source("./index.php");
- moegliche Fehlerquelle: Die Pfadangabe.
Wenn die Datei im gleichen Verzeichnis ist, nimm doch einfach "index.php".
(Bin nicht sicher)
Pfadangabe ist okay. ( "." - aktuelles verzeichniss )
Mfg
Analpha
Hi,
$str = implode("", @file("index.php")); /* siehe http://www.dclp-faq.de/q/q-datei-lesen.html */
$str = nl2br(htmlentities($str));
<br> halte ich in der textarea für nicht sehr sinnvoll - nl2br weglassen!
echo "<form action='#'><textarea cols='50' rows='20'>";
echo $str;
echo "</textarea></form>";
cu,
Andreas