Das genannte Problem ist trivial. Im einfachsten Fall öffnest Du das PHP-Skript als Datei und ersetzt alle Vorkommen von <
und >
durch die Entitys:
<?php
### File: showFile.php
$FileName="test.php";
if ( is_readble( $FileName ) ) {
echo '<pre><code>'
. htmlspecialchars( file_get_contents( $FileName ) )
. '<code></pre>';
} else {
trigger_error(
'Fatal: Die Datei "' . $FileName . '" konnte nicht gelesen werden.',
E_USER_ERROR
);
}
Das ist der simple Teil. Schwieriger ist es, dafür zu sorgen, dass die Anzeige von unerlaubten Dateien nicht stattfindet (SEHR WICHTIG!) - oder eine Syntaxhervorhebung zu integrieren.
Mehr dazu hier:
Einer weitere, einfache und sichere Möglichkeit besteht darin, die Datei mit der Endung '.phps' abzulegen und den Apache Webserver wie folgt zu konfigurieren:
<FilesMatch ".+\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
und dann einfach auf diese Datei mit der Endung '.phps' zu verlinken.
Wenn es Dein Server ist, dann kannst Du in einer Shell auf einem unixoiden Server mittels
cd /etc/apache2;
grep -Rn phps *;
herausfinden, ob obige Konfiguration (die übrigens den Voreinstellungen entspricht) schon eingetragen wurde. Hint: Unter RedHat-artigen Linuxen kann das auch im Ordner /etc/httpd/
oder /etc/httpd2/
erfolgt sein…
Wenn es so ist, genügt es, die Datei mit der Endung '.phps' abzulegen und abzurufen.