diff options
author | ShevAbam <shevabam@gmail.com> | 2014-06-18 10:11:11 +0200 |
---|---|---|
committer | ShevAbam <shevabam@gmail.com> | 2014-06-18 10:11:11 +0200 |
commit | 20705a550df5b13a544dc0865c6aef16e64c99d9 (patch) | |
tree | e396dface41e30d39a68d5fe66097b1f8f641a81 /libs/disk.php |
+ First commit (version 2.0)v2.0
Diffstat (limited to 'libs/disk.php')
-rw-r--r-- | libs/disk.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/libs/disk.php b/libs/disk.php new file mode 100644 index 0000000..d3d3199 --- /dev/null +++ b/libs/disk.php @@ -0,0 +1,49 @@ +<?php +require 'Utils/Misc.class.php'; + +$datas = array(); + +if (!(exec('/bin/df | awk \'{print $2","$3","$4","$5","$6}\'', $df))) +{ + $datas[] = array( + 'total' => 'N.A', + 'used' => 'N.A', + 'free' => 'N.A', + 'percent_used' => 0, + 'mount' => 'N.A', + ); +} +else +{ + $first_line = false; + + $mounted_points = array(); + + foreach ($df as $mounted) + { + if ($first_line === false) + { + $first_line = true; + continue; + } + + list($total, $used, $free, $percent, $mount) = explode(',', $mounted); + + if (!in_array($mount, $mounted_points)) + { + $mounted_points[] = trim($mount); + + $datas[] = array( + 'total' => Misc::getSize($total * 1024), + 'used' => Misc::getSize($used * 1024), + 'free' => Misc::getSize($free * 1024), + 'percent_used' => trim($percent, '%'), + 'mount' => $mount, + ); + } + } + +} + + +echo json_encode($datas);
\ No newline at end of file |