Die meisten Webbrowser haben eine Funktion zur Anzeige des Quellcodes der aktuell geladenen Webseite. Manchmal ist es allerdings nützlich, den Quellcode einer Webseite zu sehen ohne zuvor die entsprechende Webseite in den Webbrowser geladen zu haben. Beispiele hierfür sind Webseiten die unmittelbar auf andere Webseiten umgeleitet werden, Stylesheets (CSS-Dateien), JavaScripts (JS-Dateien), oder Webseiten, bei denen Sie den Verdacht haben, dass sie möglicherweise unerwünschte Aktionen (Hacker-Scripts, etc.) auslösen. Die PHP-Funktion file_get_contents() kann dazu benutzt werden, den kompletten Inhalt einer Datei in eine Stringvariable einzulesen:
string file_get_contents(string filename)
Bei Aktivierung der fopen-Wrapper für den Zugriff auf URLs (PHP-Option/-Variable allow_url_fopen auf 1 gesetzt) kann für den Dateinamensparameter der Funktion file_get_contents() auch eine Webadresse angegeben werden.
Der folgende PHP- und HTML-Code generiert eine HTML-Seite mit einem Formular zur Abfrage der Webadresse (URL) einer Datei für die der Quellcode angezeigt werden soll. Ausserdem enthält das Formular eine Checkbox über die ein automatischer Zeilenumbruch bei der Quellcodeanzeige aktiviert werden kann. Wenn eine Webseitenadresse angegeben wurde, dann wird der Quellcode dieser Webseite in einem <textarea> -Tag angezeigt. Zur einfacheren Selektion des angezeigten Textes (für nachfolgendes Kopieren) wird über ein JavaScript eine entsprechende Schaltfläche () angezeigt.
<?php
// viewwebpagesource.php - Display/view contents/source of URI-specified web page
// Copyright (c) 2003-2006 by Manfred Baumeister (http://www.bme.ie)
// Page title
$pagetitle = 'Baumeister Mediasoft Engineering :: Ressourcen :: '
.'PHP-Applikation: Webseiteninhalt/-quellcode anzeigen'
;
// Messages
$fmturl = '<p style="margin:0px;">"%s" Inhalt/Quellcode:</p>'."\n";
$nosource = '<span style="color:red;">* leer / nicht gefunden *</span>';
// Form parameters
$url = isset($_REQUEST['url']) ? $_REQUEST['url'] : '';
$dowrap = isset($_REQUEST['wrapsource']) && !empty($_REQUEST['wrapsource']) && ($_REQUEST['wrapsource'] == 'on') ? 1 : 0;
?>
<html>
<head>
<title><?php echo $pagetitle;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body style="background-color:#cfcfcf;font-family:Arial;sans-serif;font-size:12px;">
<h3 style="font-size:13px;margin-bottom:0px;"><?php echo $pagetitle;?></h3>
<hr />
<form method="post" style="margin-top:4px;margin-bottom:4px;">
URL <input style="font-size:12px;" type="text" size="50"
name="url" value="<?php echo empty($url) ? 'http://' : $url;?>" />
<input style="font-size:12px;" type="checkbox"
name="wrapsource"<?php if ($dowrap) { echo ' checked="checked"';}?> />Wrap
<input style="font-size:12px;" type="submit" value="Go" />
</form>
<?php
if (!empty($url))
{
// Start web page output
echo '<hr />'."\n";
// Display selected URL
echo sprintf($fmturl, $url);
// Enable URL-aware fopen wrappers to allow for URL file reading
if ((double)phpversion() >= 4.2)
{
ini_set('allow_url_fopen', '1');
}
// Read file
$s = @file_get_contents($url);
if (empty($s))
{
// Web page empty/access failure
echo $nosource;
}
else
{
// Display web page contents/source using form/textarea
?>
<form name="_webpagesource_" style="margin-bottom:0px;">
<script type="text/javascript" language="JavaScript">
<!--
// Display select all button
document.write('<input style="font-size:12px;" type="button" value="Alles selektieren"'
+ ' onclick="document.forms[\'_webpagesource_\'][\'_src_\'].select();"'
+ ' />'
);
//-->
</script>
<table width="100%" height="80%" border="0" cellspacing="0" cellpadding="0"><tr>
<td style="vertical-align:top;">
<textarea id="_src_" style="width:100%;height:100%;"
wrap="<?php echo $dowrap ? 'virtual' : 'off';?>">
<?php echo htmlspecialchars($s);?>
</textarea>
</td>
</tr></table>
</form>
<?php
}
}
?>
<hr />
<p style="margin:0px;font-size:9px;color:#666666;">
Copyright © 2003-<?php echo date('Y');?>
<a href="http://www.bme.ie" target="_top">Manfred Baumeister</a>
</p>
</body>
</html>
Nachfolgend die Anzeige der obige HTML-Seite in einem <iframe> -HTML-Tag:
Klicken sie hier zum Öffnen der obigen Seite in einem eigenen Fenster.
PHP-Anwendung: Webseiteninhalt/-quellcode anzeigen • © 2025 Manfred Baumeister • Aktualisiert: 2. Oktober 2010, 23:36:08 GMT
|