PHP-Script, das sich selbst ausgibt

Hallo ihr PHP-Freaks,

Mich hätte mal interessiert, ob jemand von euch schon mal ein $topic programmiert oder irgendwo gesehen hat. Ich kannte das bisher nur von C, da gibt´s ja jede Menge Quellcodes, die sich selbst ausgeben.
Also hab ich mich mal rangesetzt und sowas in PHP geschrieben (s. Signatur). Und jetzt möchte ich gern mal wissen, ob´s da vielleicht noch andere Möglichkeiten gibt... Ich finde die Aufgabenstellung nämlich ziemlich interessant, ist mal etwas anderes als der übliche Kram, den man so mit PHP macht.
Wäre jedenfalls eine Diskussion wert. Vielleicht findet man ja sogar zusammen eine weitere Möglichkeit.
Ach ja, bevor jemand fragt: Sämtliche Zugriffe auf Dateien und andere externe Datenquellen (z.B. mySQL) sind natürlich verboten :p

Viel Spaß beim Grübeln, ich freue mich auf eure Antworten :)


reima

PS: Sollte irgendwer das mit dem $topic nicht verstanden haben: statt $topic setzt man in dem Satz den Topic dieses Beitrags ein. Zeigt wieder mal, wie faul Programmierer eigentlich sind ;)
 
Zuletzt bearbeitet:
Ich glaub mal, dass das jetzt nicht ganz erst gemeint war, oder? ;) Weil 1. greift dein Script auf eine Datei zu und zweitens gibt es nicht mal sich selbst aus ;)
 
aber wenn die datei "php.php" heißt, müsste es doch gehen, oder?

PHP:
<? show_source($PHP_self) ?>

ist doch keine externe datenquelle, oder?
 
1. Das ist ein Dateizugriff, woher soll show_source denn sonst den Inhalt der Datei kennen? ;)
2.
Source:
PHP:
<? show_source($PHP_SELF) ?>
Ausgabe:
Code:
<code><font color="#000000">
<font color="#0000CC">&lt;?&nbsp;show_source</font>
<font color="#006600">(</font>
<font color="#0000CC">$PHP_SELF</font>
<font color="#006600">)</font>
<font color="#0000CC">?&gt;</font>&nbsp;</font>
</code>
Irgendwie nicht so ganz das selbe, oder? ;)
 
<?php show_source($PHP_self); ?>
gibt diesen error aus:
Warning: Failed opening '' for highlighting in c:\apache\htdocs\versuche\bla.php on line 1

ich hab aber leider keine ahnung wie das gehn soll :(
viel glück beim lösen des problems ich werd wieder reinsehn :)
 
Mach es doch so:

PHP:
<?php
error_reporting ( 5 );

    $script = getenv ("PATH_TRANSLATED");
    if(!$script) {
    } else {
        if (ereg("(\.php)$",$script)) {
            highlight_file($script);
        } else {
            echo "<H1>ERROR: Nur PHP erlaubt</H1>"; 
        }
    }
?>

:):):):):)
 
Zurück