Daniel: code

hi,
ich habe folgendes problem und zwar möchte ich von einer php datei den
Code anzeigen lassen. allso der Server soll den code einfach so
weitergeben und nicht interpretieren und ggf. ausführen.
habe es schon mit:

  • readfile("http://bla.bla.de/bla.php");
  • include("http://bla.bla.de/bla.php");
  • file_get_contents("http://bla.bla.de/bla.php");
    probiert, aber das funktioniert leider nicht.
    gibts da ne funktion die das so macht wie ich will? oder die den Server
    davon abhält die .php datei umzuwandeln?
    sicher es gäbe die möglichkeit mit nem link rechtsklick->ziel speichern
    unter den text lokal zu speichern und dann anzuschaun. aber das will ich
    nicht und ist auch nicht benutzerfreundlich.

MfG

  1. hi,

    ich habe folgendes problem und zwar möchte ich von einer php datei den
    Code anzeigen lassen. allso der Server soll den code einfach so
    weitergeben und nicht interpretieren und ggf. ausführen.
    habe es schon mit:

    • readfile("http://bla.bla.de/bla.php");
    • include("http://bla.bla.de/bla.php");
    • file_get_contents("http://bla.bla.de/bla.php");
      probiert, aber das funktioniert leider nicht.

    natürlich funktioniert das nicht wie erwartet - denn wenn du die ressource über HTTP abrufst, wird sie natürlich vorher geparst, und der PHP code ausgeführt. du bekommst also nur noch dessen ausgaben zu sehen.

    gibts da ne funktion die das so macht wie ich will? oder die den Server
    davon abhält die .php datei umzuwandeln?

    über HTTP _darf_ es eine solche möglichkeit gar nicht geben, weil das ein großes sicherheitsrisiko wäre.

    wenn es sich allerdings beides auf dem selben server abspielt, dann kannst du die .php-datei natürlich über das dateisystem einlesen (statt über HTTP). dabei wird die datei nicht geparst.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo.

      wenn es sich allerdings beides auf dem selben server abspielt, dann kannst du die .php-datei natürlich über das dateisystem einlesen (statt über HTTP). dabei wird die datei nicht geparst.

      Ich finde, dass sich hierfür show_source anbietet.
      Oder hattest du etwas besseres in Sinn?

      Gruß, Ashura

      --
      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
      Try it: Become an Opera Lover in 30 days
      Meine Browser: Opera 8.0 | Firefox 1.0.3 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
      1. hi,

        Ich finde, dass sich hierfür show_source anbietet.

        tut es möglicherweise.

        Oder hattest du etwas besseres in Sinn?

        ich hatte erst mal im sinn, ihn vom zugriff auf die datei per HTTP abzubringen. da nützt nämlich auch show_source() nichts.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo Daniel,

    ich selber nehmen diesen Code um den PHp Code dastellen zu lassen. Ich hoffe ich konnte dir damit weiter helfen:

    global $_settings;

    $text = htmlentities($text);
    $text = nl2br($text);

    if(preg_match_all("/[code]([\d\D]*)[/code]/U",$text,$treffer))
    {
      foreach($treffer[1] as $key => $value)
      {
       $value = str_replace("<br />","",$value);
       $value = html_entity_decode($value);
       $value = highlight_put_linenum(highlight_string($value,true),true,true);
       $text = str_replace($treffer[0][$key],$value,$text);
      }
    }

    MFG jaylibii

    --
    fl:| br:^ va:( ls:& fo:| rl:( n4:# ss:{ de:< js:) ch:? sh:( mo:} zu:)
    1. Hi,

      global $_settings;

      $text = htmlentities($text);
      $text = nl2br($text);

      if(preg_match_all("/[code]([\d\D]*)[/code]/U",$text,$treffer))
      {
        foreach($treffer[1] as $key => $value)
        {
         $value = str_replace("<br />","",$value);
         $value = html_entity_decode($value);
         $value = highlight_put_linenum(highlight_string($value,true),true,true);
         $text = str_replace($treffer[0][$key],$value,$text);
        }
      }

      und wo/wie schreibst du den php code in $text???

      1. Hi,

        und wo/wie schreibst du den php code in $text???

        im Gegensatz zu wahsaga hat jaylibii Dich leider missverstanden.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          im Gegensatz zu wahsaga hat jaylibii Dich leider missverstanden.

          supper antwort danke, kuck mal unter unerwünschte beiträge.

          hättest wenigstens erklären können was da an der antwort von jaylibii falsch ist.

          MfG

          1. Hi,

            hättest wenigstens erklären können was da an der antwort von jaylibii falsch ist.

            es ist wesentlich weniger relevant was warum falsch ist, sondern was richtig ist (und warum ;-). Lernt man sowas nicht in der Schule? Nein, heutzutage leider nicht.   :-(

            Gruss,
            Ludger

          2. Hi,

            supper antwort danke, kuck mal unter unerwünschte beiträge.

            prima, und wo genau ist da Dein Kritikpunkt?

            hättest wenigstens erklären können was da an der antwort von jaylibii falsch ist.

            Sie hat nichts mit Deiner Frage zu tun. Das versteht man im allgemeinen unter "missverstanden". Möchtest Du jetzt eigentlich stänkern oder Hilfe bekommen?

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
          3. Hallo!

            im Gegensatz zu wahsaga hat jaylibii Dich leider missverstanden.
            supper antwort danke, kuck mal unter unerwünschte beiträge.

            Bitte? Er hat doch nur drauf hingewiesen dass jaylibii zwar eine Lösung anbietet, aber leider nicht für Dein Problem.

            hättest wenigstens erklären können was da an der antwort von jaylibii falsch ist.

            Das steht doch in wahsagas Posting.

            Dein Problem ist, dass Du das PHP-Script über HTTP anforderst.
            Siehe http://tut.php-q.net/kommunikation.html oder auch http://www.php-faq.de/q/q-web-server-client.html. In diesem Fall nimmst Dein Script die Rolle des Clients ein, und das andere Script, welches Du auslesen willst, die Rolle des Servers!

            Lösen kannst Du das wie wahsaga bereits schrieb nur wenn Du lokal über das Dateisystem auf das Script zugreifen kannst (wenn es also auf demselben Server liegt), oder wenn das entfernte Script als .phps oder .txt gespeichert wird, und somit nicht vom PHP-Interpreter des Servers verarbeitet wird.

            Grüße
            Andreas

            --
            SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
    2. Hi jaylibii - oder besser Hi Martin?

      ich selber nehmen diesen Code um den PHp Code dastellen zu lassen. Ich hoffe ich konnte dir damit weiter helfen:

      Hm, irgendwie kommt mir doch der Code bekannt vor - ach ja, den habe ich ja damals für dich geschrieben ;-)

      Das hier ist ein Ausschnitt aus unserer Funktion echo_message().

      global $_settings;

      Diese Zeile hat jedoch für das Highlighten in keinster Weise eine bedeutung und ist für Daniel überflüssig.

      $text = htmlentities($text);
      $text = nl2br($text);

      Für das bloße Highlighten, brauchst du das hier auch nicht - wenn du dir das ersparst, dann kannst du sogar diese Zeilen hier

      $value = str_replace("<br />","",$value);
         $value = html_entity_decode($value);

      weglassen.

      $value = highlight_put_linenum(highlight_string($value,true),true,true);

      Spätestens hier wird Daniel einen Fatal Error bekommen - Undefined Function highlight_put_linenum.
      Die Funktion die ich da verwendet hatte, war eine leicht abgeänderte Version von dieser hier.

      Insgesamt finde ich, hat dein (bzw. mein) Code nicht wesenltich weiter geholfen, denn Daniel wollte eine ganze Datei anzeigen lassen - in deinem Beispielcode, werden aber `` Blöcke durch ge-highlighteten PHP Code ersetzt. Für Daniels Anwendung ist das von Ahura erwähnte show_source richtig.

      Btw: Der Code wäre sicherlich einfacher zu verstehen gewesen, wenn du die Kommentare nicht gelöscht hättest.

      MfG, Dennis.