:::: MENU ::::

PHPinfo() selbst gestalten

Jeder PHP-Entwicklerm, Webhoster und Webmaster kennt die PHPinfo() Funktion, sie gibt einem schnell Aufschluss über die PHP Koniguration eines Servers, aber auch wichtige Infos zum HTTP Header, der Apache Umgebung und liefert wichtige Variablen wie $_SERVER[„DOCUMENT_ROOT“].

info

Die obere Grafik zeigt 3 verschiedene PHPinfo() Ausgaben. Einmal die Standartversion von PHP, die Zweite meine Eigene und in Perfektion die Dritte von bplaced.net

In diesem Artikel möchte ich euch erstmal meine Methode zum Designen einer eigenen PHPinfo() zeigen. Diese ist recht einfach zu verstehen, kostet kaum Zeit und basiert auf einfachstem PHP.

Zunächst sollten wir unseren eigenen Style/HTMLCode definieren und in eine leere .php Datei einfügen:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html><head>
<style type="text/css">
body {background-color: #ffffff; color: #000000;}
body, td, th, h1, h2 {font-family: sans-serif;}
pre {margin: 0px; font-family: monospace;}
a:link {color: #000099; text-decoration: none; background-color: #ffffff;}
a:hover {text-decoration: underline;}
table {border-collapse: collapse;
width: 500px;}
.center {text-align: center;}
.center table { margin-left: auto; margin-right: auto; text-align: left;}
.center th { text-align: center !important; }
td, th { border: 1px solid #000000; font-size: 75%; vertical-align: baseline;}
h1 {font-size: 150%;}
h2 {font-size: 125%;}
.p {text-align: left;}
.e {background-color: #ccccff; font-weight: bold; color: #000000;}
.h {background-color: #9999cc; font-weight: bold; color: #000000;}
.v {background-color: #cccccc; color: #000000;}
.vr {background-color: #cccccc; text-align: right; color: #000000;}
img {float: right; border: 0px;}
hr {width: 600px; background-color: #cccccc; border: 0px; height: 1px; color: #000000;}
</style>

<link rel="stylesheet"    href="http://michaelplas.de/phpinfo.css" type="text/css" />

</head>

<body>

Ich habe zunächst die Standart CSS übernommen und einfach einen <link> zu meiner eigenen phpinfo.css eingefügt.
Zusätzlich empfiehlt es sich, z.B. wenn man die PHPinfo in eine andere Seite einbauen will noch einen DIV-Bereich einzurichten:

<div id="phpinfo">

Nun beginnt der eigentliche PHP Code, um die Ausgabe der Orignal PHPinfo zubearbeiten müssen wir diese zunächst im Cache zwischenspeichern:

<?php
ob_start () ;
phpinfo () ;
$pinfo = ob_get_contents () ;
ob_end_clean () ;

Die PHPinfo() ist nun in der Variable $pinfo gespeichert und wir können anfangen die zubeabeiten:

1. Zunächst müssen erstmal den <head> und den Footer der original PHPinfo() entfernen:

$pinfo = preg_replace ( '%^.*<body>(.*)</body>.*$%ms', '$1', $pinfo );

2. Solltet ihr auf Validierung achten solltet ihr zusätzlich die Ausgabe der Zend Info bearbeiten:

$pinfo = str_replace ( "module_Zend Optimizer", "module_Zend_Optimizer", $pinfo );

Das wars eiegntlich auch schon im Groben, wenn es allerdings um Gestaltung und nicht nur Design geht könnt ihr natürlich noch weitere Sachen ersetzen, die z.B. für Bsucher nicht sichtbar sein sollen:

$pinfo = ereg_replace  ( "\-1\+lenny3", ' '  , $pinfo );
$pinfo = str_replace  ( "Linux michaelplas.de 2.6.18-92.1.18.el5.028stab060.8 #1 SMP Mon Feb 9 21:44:50 MSK 2009 i686", 'Linux, was dachtest du den? '  , $pinfo );

Am Ende geben wir dann noch $pinfo aus und haben unsere eigene PHPinfo():

echo $pinfo;
?>
</div>
</body>
</html>

Nachteil: Die Ausgabe gilt natürlich nur für eben diese eine .php Datei und nicht global, wie man dies Ändern kann und noch weitere Features wie Ping einbauen kann zeig ich euch ein anderes mal

Die Datei zum Download gibts hier!


2 Comments

So, what do you think ?