Hi Leute ich habe ein "kleines" PHP-Script geschrieben was mir die Speicher Belegung auf meinen am RPI angeschlossenen Datenträger anzeigt.
da ich noch nicht so viel Erfahrung mit PHP habe wollte ich 1-2 fragen los werden:
1) sieht die Darstellung bei euch auch so aus? Sprich könnt ihr die Seite Mal ausprobieren.
2) hat jemand Verbesserung vorschlägt?
Vorschau Bild:
Spoiler anzeigen
Der PHP Code (Die Komplette Seite):
PHP
<?php
session_start();
// Quick Stile
$backgroundColor = "#BD1143";
// <h1>
$h1FontColor = "#FFFFFF";
$h1shadowColor = "#000000";
// <table>
$cellspacing = 2; // in px
$tablebackground = "#000000";
$tableborderColor = "#FFFFFF";
$tableborder = 1; // in px
// <td>
$TD_RL_padding = 5; // in px
$TD_BT_padding = 4; // in px
$TD_font_size = 14; // in pt
$tdbackground = "#FFFFFF";
$tdborderColor = "#BD1143";
$tdborder = 1; // in px
?>
<!DOCTYPE html>
<html>
<head>
<meta name="author" content="C. And" />
<meta name="generator" content="Raspberry Pi (Raspbmc + PHP)" />
<meta name="description" content="Speicher Platz belegung" />
<meta name="keywords" content="Free Space, Raspberry Pi, Raspbmc" />
<meta HTTP-EQUIV=Refresh CONTENT='120'>
<title>Free Space</title>
<style type="text/css">
body {
background-color: <?php echo $backgroundColor; ?>;
}
h1 {
margin: 0px;
margin-left: 30px;
padding: 0px;
margin-bottom: 10px;
color: <?php echo $h1FontColor; ?>;
text-shadow: 1px 1px 3px <?php echo $h1shadowColor; ?>,
-1px 1px 3px <?php echo $h1shadowColor; ?>,
1px -1px 3px <?php echo $h1shadowColor; ?>,
-1px -1px 3px <?php echo $h1shadowColor; ?>;
}
table#FreeSpace {
margin: 0px;
margin-left: 30px;
padding: 0px;
background-color: <?php echo $tablebackground; ?>;
border: <?php echo $tableborder; ?>px solid <?php echo $tableborderColor; ?>;
}
table#FreeSpace td {
padding-top: <?php echo $TD_BT_padding; ?>px;
padding-bottom: <?php echo $TD_BT_padding; ?>px;
padding-right: <?php echo $TD_RL_padding; ?>px;
padding-left: <?php echo $TD_RL_padding; ?>px;
font-size: <?php echo $TD_font_size; ?>pt;
background-color: <?php echo $tdbackground; ?>;
border: <?php echo $tdborder; ?>px solid <?php echo $tdborderColor; ?>;
}
</style>
</head>
<body>
<h1>Free Space</h1>
<?php
$dfCMD = `df -h`; // ~ shell_exec("df -h");
$Output = array();
foreach (explode( PHP_EOL ,$dfCMD) AS $Xt) {
// "Filesystem"
$START = 0;
$ENDE = 16;
array_push( $Output , trim(substr($Xt, $START, $ENDE)));
// "Size"
$START = 16;
$ENDE = 5;
if (ereg ("G",substr($Xt, $START, $ENDE))) {
array_push( $Output , eregi_replace("G"," GB",trim(substr($Xt, $START, $ENDE))));
} elseif (ereg ("M",substr($Xt, $START, 5))) {
array_push( $Output , eregi_replace("M"," MB",trim(substr($Xt, $START, $ENDE))));
} else {
array_push( $Output ,trim(substr($Xt, $START, $ENDE)));
}
// "Used"
$START = 22;
$ENDE = 5;
if (ereg ("G",substr($Xt, $START, $ENDE))) {
array_push( $Output , eregi_replace("G"," GB",trim(substr($Xt, $START, $ENDE))));
} elseif (ereg ("M",substr($Xt, $START, 5))) {
array_push( $Output , eregi_replace("M"," MB",trim(substr($Xt, $START, $ENDE))));
} else {
array_push( $Output ,trim(substr($Xt, $START, $ENDE)));
}
// "Avail"
$START = 27;
$ENDE = 5;
if (ereg ("G",substr($Xt, $START, $ENDE))) {
array_push( $Output , eregi_replace("G"," GB",trim(substr($Xt, $START, $ENDE))));
} elseif (ereg ("M",substr($Xt, $START, 5))) {
array_push( $Output , eregi_replace("M"," MB",trim(substr($Xt, $START, $ENDE))));
} else {
array_push( $Output ,trim(substr($Xt, $START, $ENDE)));
}
// "Use%"
$START = 33;
$ENDE = 5;
if (ereg ("%",substr($Xt, $START, $ENDE))) {
array_push( $Output ,eregi_replace("%"," %",trim(substr($Xt, $START, $ENDE))));
}
// "Mounted on"
$START = 38;
array_push( $Output, trim(substr($Xt, $START)));
}
/*************************************************/
echo " <table id='FreeSpace' cellspacing='".$cellspacing."px'>\n";
echo " <tr>\n";
echo " <td colspan='6' style='text-align: center;'><b>Free Space on: ".strtoupper ($_SERVER['SERVER_NAME'])."</b></td>\n";
echo " </tr>\n";
for ($i = 0; $i <= count($Output) -6; $i = $i + 6) {
echo " <tr>\n";
echo " <td style='text-align: left;'>".$Output[$i+0]."</td>\n";
echo " <td style='text-align: left;'>".$Output[$i+5]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+1]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+2]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+3]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+4]."</td>\n";
echo " </tr>\n";
}
echo " </table>\n";
?>
Zurück zu <a href='index.php'><b>home</b></a>
</body>
</html>
Alles anzeigen
das Script Separat (ohne HTML):
PHP
<?php
$dfCMD = `df -h`; // ~ shell_exec("df -h");
$Output = array();
foreach (explode( PHP_EOL ,$dfCMD) AS $Xt) {
// "Filesystem"
$START = 0;
$ENDE = 16;
array_push( $Output , trim(substr($Xt, $START, $ENDE)));
// "Size"
$START = 16;
$ENDE = 5;
if (ereg ("G",substr($Xt, $START, $ENDE))) {
array_push( $Output , eregi_replace("G"," GB",trim(substr($Xt, $START, $ENDE))));
} elseif (ereg ("M",substr($Xt, $START, 5))) {
array_push( $Output , eregi_replace("M"," MB",trim(substr($Xt, $START, $ENDE))));
} else {
array_push( $Output ,trim(substr($Xt, $START, $ENDE)));
}
// "Used"
$START = 22;
$ENDE = 5;
if (ereg ("G",substr($Xt, $START, $ENDE))) {
array_push( $Output , eregi_replace("G"," GB",trim(substr($Xt, $START, $ENDE))));
} elseif (ereg ("M",substr($Xt, $START, 5))) {
array_push( $Output , eregi_replace("M"," MB",trim(substr($Xt, $START, $ENDE))));
} else {
array_push( $Output ,trim(substr($Xt, $START, $ENDE)));
}
// "Avail"
$START = 27;
$ENDE = 5;
if (ereg ("G",substr($Xt, $START, $ENDE))) {
array_push( $Output , eregi_replace("G"," GB",trim(substr($Xt, $START, $ENDE))));
} elseif (ereg ("M",substr($Xt, $START, 5))) {
array_push( $Output , eregi_replace("M"," MB",trim(substr($Xt, $START, $ENDE))));
} else {
array_push( $Output ,trim(substr($Xt, $START, $ENDE)));
}
// "Use%"
$START = 33;
$ENDE = 5;
if (ereg ("%",substr($Xt, $START, $ENDE))) {
array_push( $Output ,eregi_replace("%"," %",trim(substr($Xt, $START, $ENDE))));
}
// "Mounted on"
$START = 38;
array_push( $Output, trim(substr($Xt, $START)));
}
/** Ausgabe **/
echo " <table id='FreeSpace' cellspacing='".$cellspacing."px'>\n";
echo " <tr>\n";
echo " <td colspan='6' style='text-align: center;'><b>Free Space on: ".strtoupper ($_SERVER['SERVER_NAME'])."</b></td>\n";
echo " </tr>\n";
for ($i = 0; $i <= count($Output) -6; $i = $i + 6) {
echo " <tr>\n";
echo " <td style='text-align: left;'>".$Output[$i+0]."</td>\n";
echo " <td style='text-align: left;'>".$Output[$i+5]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+1]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+2]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+3]."</td>\n";
echo " <td style='text-align: right;'>".$Output[$i+4]."</td>\n";
echo " </tr>\n";
}
echo " </table>\n";
?>
Alles anzeigen