PHP中列出当前磁盘使用率,并显示在网页上

2 篇文章 0 订阅

有时候,别人需要知道一台服务器的磁盘使用率,但是不希望他拥有系统账号,只能通过浏览器查看,而且要达成如下目标:

  1. 使用Linux系统命令 df -h 列出当前系统磁盘使用率
  2. 保持格式不要所有输出都堆在一行,要能够自动换行
初尝试:
<?php
system("df -h");
?>

得到了输出,但是不能自动换行,所有输出都在一行,视觉效果极差。
一开始以为是PHP的system()可能有什么其他的参数选项可以解决这个问题,但后来发现似乎没有。
之后向着浏览器解析HTML本身的思路去查,果然有所收获,于是尝试在命令 df -h 的输出末尾增加一个HTML的换行符:<br />

于是变成了这样(需要注意system()中,双引号内如果有双引号,需要转义\):
<?php
system("df -Ph | awk '{print $0\"<br />\"}' ");
?>

问题果然解决了,显示正常:
Filesystem Size Used Avail Use% Mounted on
/dev/root 24G 5.3G 17G 24% /
devtmpfs 492M 0 492M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 7.6M 486M 2% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup

这样显示输出,虽然解决了自动换行的问题,但会看起来比较凌乱,鉴于可以利用HTML标签来显示输出内容,于是进一步改进,干脆把页面写成一个网页的样子:
这是改进之后的disk_used.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <title>系统磁盘使用率报告</title>
</head>
<style type="text/css">
table,th,td
{
border:2px solid black;
border-spacing:0;
border-collapse:collapse;
}
</style>
<body>
        系统磁盘使用率报告:
        <table border="4">
        <?php
        system("df -h | awk '{print \"<tr>\" \"<td>\" $1 \"</td>\" \"<td>\" $2 \"</td>\" \"<td>\" $3 \"</td>\" \"<td>\" $4 \"</td>\" \"<td>\" $5 \"</td>\" \"<td>\" $6 \"</td>\" \"</tr>\"}' ");?>
        </table>
</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值