Start · Sprachen · PHP · Referenz · show_source

show_source

Funktion

Alias von <code>highlight_file()</code> — gibt den Quellcode einer PHP-Datei mit Syntax-Highlighting aus.

seit PHP 4.0.0 Kategorie: misc

Signatur

show_source(string $filename, bool $return = false): string|bool

Beschreibung

show_source() ist ein Alias der Funktion highlight_file() und verhält sich identisch zu dieser. Sie liest eine PHP-Quelldatei ein und gibt deren Inhalt mit HTML-basiertem Syntax-Highlighting aus, wobei die in der php.ini konfigurierten Highlight-Farben verwendet werden.

Standardmäßig sendet die Funktion den hervorgehobenen HTML-Code direkt an den Browser. Wenn der Parameter $return auf true gesetzt wird, gibt die Funktion den generierten HTML-Code als String zurück, anstatt ihn auszugeben.

Da show_source() lediglich ein Alias ist, empfiehlt es sich, direkt highlight_file() zu verwenden, da Aliases in zukünftigen PHP-Versionen potenziell entfernt werden könnten. Für das Hervorheben von Quellcode-Strings (statt Dateien) steht highlight_string() zur Verfügung.

Wichtig: Diese Funktion sollte niemals unkontrolliert auf produktiven Systemen eingesetzt werden, da sie den vollständigen Quellcode einer Datei — inklusive sensibler Informationen wie Datenbankpasswörter oder API-Schlüssel — im Browser anzeigt.

Parameter

Name Typ Default Beschreibung
$filename Pflicht string Pfad zur PHP-Datei, deren Quellcode hervorgehoben dargestellt werden soll. Kann ein relativer oder absoluter Dateipfad sein.
$return bool false Wenn true, wird der erzeugte HTML-Code als String zurückgegeben, anstatt direkt ausgegeben zu werden.

Rückgabewert

Typ
string|bool
Beschreibung
Gibt true zurück, wenn die Ausgabe direkt gesendet wurde, oder einen string mit dem HTML-Code, wenn $return auf true gesetzt ist. Bei einem Fehler (z. B. Datei nicht gefunden) wird false zurückgegeben.

Beispiele

Quellcode einer Datei direkt im Browser anzeigen

<?php
// Zeigt den Quellcode der aktuellen Datei im Browser an
show_source(__FILE__);
<code><span style="color: #000000">...</span></code> (HTML mit Syntax-Highlighting)

Hervorgehobenen HTML-Code als String erfassen

<?php
// Quellcode in einen String einlesen, statt ihn direkt auszugeben
$highlighted = show_source('beispiel.php', true);

if ($highlighted !== false) {
    // HTML in eine Datei schreiben oder weiterverarbeiten
    file_put_contents('output.html', $highlighted);
    echo 'Datei erfolgreich verarbeitet.';
} else {
    echo 'Fehler: Datei konnte nicht gelesen werden.';
}
Datei erfolgreich verarbeitet.

// Wichtig · Fallstricke

Sicherheitswarnung: Der Einsatz von show_source() auf produktiven Webservern ist äußerst gefährlich, wenn der Dateiname aus Benutzereingaben stammt. Ein Angreifer könnte so den Quellcode beliebiger Dateien — etwa Konfigurationsdateien mit Zugangsdaten — auslesen. Niemals $_GET- oder $_POST-Parameter ungeprüft an diese Funktion übergeben.

Da es sich um einen Alias handelt, ist es empfehlenswert, stattdessen direkt highlight_file() zu verwenden, um eine langfristig stabile Codebasis zu gewährleisten.

Die verwendeten Farben für das Highlighting können in der php.ini über Direktiven wie highlight.string, highlight.comment oder highlight.keyword angepasst werden.