PHP

PHPでディスク状況を調べる(dfコマンド)

今回は、PHP でサーバのディスク状況を取得してみます。

サーバ上ではコンソールから df コマンドで標準出力されますが、PHP でも同じ要領で取得することが可能です。

では、早速 PHP で試してみましょう。

ディスクの状況確認

PHP には df の関数は用意されていないので、exec コマンドでdf コマンドを呼び出して結果を取得します。

後は配列に入った結果を整形すれば、HTML の表形式などできれいに見せることが可能です。

HTMLの整形でハマったこと

参考までに、HTML の表への整形でハマったことをまとめておきます。

$result には標準出力される内容が 1 行ずつ入ります。

よって、$result[0] は下記のような内容です。

これを整形するには、スペースで区切るのが手頃ですので、1 行ずつ取り出し split 関数でさらに分解します。

しかし、半角スペースの数は状況によって違うので、これではうまくいきません。

まずは、連続するスペースを 1 つのスペースにします。

また、「Mounted on」は 1 つの項目名なので、このスペースを取り除きます。
(もしくは、スペース以外の文字で連結する)

あとは、$view をうまく利用して整形すれば完成です。