DiskSpace
This commit is contained in:
parent
ac60d7871a
commit
a5ac997098
73
DiskStatus.class.php
Normal file
73
DiskStatus.class.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disk Status Class
|
||||||
|
*
|
||||||
|
* http://pmav.eu/stuff/php-disk-status/
|
||||||
|
*
|
||||||
|
* v1.0 - 17/Oct/2008
|
||||||
|
* v1.1 - 22/Ago/2009 (Exceptions added.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
class DiskStatus {
|
||||||
|
|
||||||
|
const RAW_OUTPUT = true;
|
||||||
|
|
||||||
|
private $diskPath;
|
||||||
|
|
||||||
|
|
||||||
|
function __construct($diskPath) {
|
||||||
|
$this->diskPath = $diskPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function totalSpace($rawOutput = false) {
|
||||||
|
$diskTotalSpace = @disk_total_space($this->diskPath);
|
||||||
|
|
||||||
|
if ($diskTotalSpace === FALSE) {
|
||||||
|
throw new Exception('totalSpace(): Invalid disk path.');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $rawOutput ? $diskTotalSpace : $this->addUnits($diskTotalSpace);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function freeSpace($rawOutput = false) {
|
||||||
|
$diskFreeSpace = @disk_free_space($this->diskPath);
|
||||||
|
|
||||||
|
if ($diskFreeSpace === FALSE) {
|
||||||
|
throw new Exception('freeSpace(): Invalid disk path.');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $rawOutput ? $diskFreeSpace : $this->addUnits($diskFreeSpace);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function usedSpace($precision = 1) {
|
||||||
|
try {
|
||||||
|
return round((100 - ($this->freeSpace(self::RAW_OUTPUT) / $this->totalSpace(self::RAW_OUTPUT)) * 100), $precision);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getDiskPath() {
|
||||||
|
return $this->diskPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function addUnits($bytes) {
|
||||||
|
$units = array( 'B', 'KB', 'MB', 'GB', 'TB' );
|
||||||
|
|
||||||
|
for($i = 0; $bytes >= 1024 && $i < count($units) - 1; $i++ ) {
|
||||||
|
$bytes /= 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
return round($bytes, 1).' '.$units[$i];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
139
space.php
Normal file
139
space.php
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disk Status Class - Example
|
||||||
|
*
|
||||||
|
* http://pmav.eu/stuff/php-disk-status/
|
||||||
|
*
|
||||||
|
* 22/Aug/2009
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once 'DiskStatus.class.php';
|
||||||
|
|
||||||
|
try {
|
||||||
|
$diskStatusC = new DiskStatus('c:');
|
||||||
|
|
||||||
|
$freeSpaceC = $diskStatusC->freeSpace();
|
||||||
|
$totalSpaceC = $diskStatusC->totalSpace();
|
||||||
|
$barWidthC = ($diskStatusC->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$diskStatus1 = new DiskStatus('d:');
|
||||||
|
|
||||||
|
$freeSpace1 = $diskStatus1->freeSpace();
|
||||||
|
$totalSpace1 = $diskStatus1->totalSpace();
|
||||||
|
$barWidth1 = ($diskStatus1->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
$diskStatus2 = new DiskStatus('e:');
|
||||||
|
|
||||||
|
$freeSpace2 = $diskStatus2->freeSpace();
|
||||||
|
$totalSpace2 = $diskStatus2->totalSpace();
|
||||||
|
$barWidth2 = ($diskStatus2->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$diskStatus3 = new DiskStatus('f:');
|
||||||
|
|
||||||
|
$freeSpace3 = $diskStatus3->freeSpace();
|
||||||
|
$totalSpace3 = $diskStatus3->totalSpace();
|
||||||
|
$barWidth3 = ($diskStatus3->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$diskStatus4 = new DiskStatus('g:');
|
||||||
|
|
||||||
|
$freeSpace4 = $diskStatus4->freeSpace();
|
||||||
|
$totalSpace4 = $diskStatus4->totalSpace();
|
||||||
|
$barWidth4 = ($diskStatus4->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$diskStatus5 = new DiskStatus('h:');
|
||||||
|
|
||||||
|
$freeSpace5 = $diskStatus5->freeSpace();
|
||||||
|
$totalSpace5 = $diskStatus5->totalSpace();
|
||||||
|
$barWidth5 = ($diskStatus5->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$diskStatus6 = new DiskStatus('j:');
|
||||||
|
|
||||||
|
$freeSpace6 = $diskStatus6->freeSpace();
|
||||||
|
$totalSpace6 = $diskStatus6->totalSpace();
|
||||||
|
$barWidth6 = ($diskStatus6->usedSpace()/100) * 150;
|
||||||
|
|
||||||
|
} catch (Exception $e) {
|
||||||
|
echo 'Error ('.$e->getMessage().')';
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<table border=0>
|
||||||
|
<tr><td BGCOLOR='#0066FF'><font color='white'>Disk Space</font></td></tr>
|
||||||
|
<tr><td>C:\<?= $freeSpaceC ?> (of <?= $totalSpaceC ?>)</td></tr>
|
||||||
|
<tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidthC ?>px"><?= $diskStatusC->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td>D:\<?= $freeSpace1 ?> (of <?= $totalSpace1 ?>)</td></tr>
|
||||||
|
<tr> <tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidth1 ?>px"><?= $diskStatus1->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td>E:\<?= $freeSpace2 ?> (of <?= $totalSpace2 ?>)</td></tr>
|
||||||
|
<tr> <tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidth2 ?>px"><?= $diskStatus2->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td>F:\<?= $freeSpace3 ?> (of <?= $totalSpace3 ?>)</td></tr>
|
||||||
|
<tr> <tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidth3 ?>px"><?= $diskStatus3->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td>G:\<?= $freeSpace4 ?> (of <?= $totalSpace4 ?>)</td></tr>
|
||||||
|
<tr> <tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidth4 ?>px"><?= $diskStatus4->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td>H:\<?= $freeSpace5 ?> (of <?= $totalSpace5 ?>)</td></tr>
|
||||||
|
<tr> <tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidth5 ?>px"><?= $diskStatus5->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td>J:\<?= $freeSpace6 ?> (of <?= $totalSpace6 ?>)</td></tr>
|
||||||
|
<tr> <tr><td><div class="disk">
|
||||||
|
<div class="used" style="width: <?= $barWidth6 ?>px"><?= $diskStatus6->usedSpace() ?>% </div>
|
||||||
|
</div></td></tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Loading…
x
Reference in New Issue
Block a user