Samuel Vogel: Textarea mit show_source

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,

  1. 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

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  2. 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

    1. 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

      --
      RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
      Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
      1. 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

        1. 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

          --
          RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
          Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  3. 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,

    1. 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

      --
      RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
      Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  4. 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

    1. Hallo,

      Moin

      1. Fehler: Das FORM-Element muss AFAIK ein ACTION-Attribut haben.

      Naja, funktionieren tuts auch ohne ;)

      show_source("./index.php");

      1. 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

    2. 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

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/