Solved

PHP to read available disk space.

Posted on 2004-08-25
4
268 Views
Last Modified: 2008-02-01
I have an image management system written in PHP. I need to display the amount of space available
on the hard drive for the system.

How can I use php to get available disk space. Can some one please provide sample code.
0
Comment
Question by:malikatwork
  • 3
4 Comments
 
LVL 33

Accepted Solution

by:
snoyes_jw earned 80 total points
ID: 11892824
If you have version 4.1 or later, you can use disk_free_space().  Otherwise, you can use one of the exec methods and pass the appropriate command to the OS.
http://www.php.net/manual/en/function.disk-free-space.php
http://www.php.net/manual/en/ref.exec.php
0
 
LVL 27

Expert Comment

by:Diablo84
ID: 11892884
use the disk_free_space function

http://www.php.net/manual/en/function.disk-free-space.php

this will return it in bytes so if you want it in megabytes do this (for example)

<?php
$space = disk_free_space("C:");
$space = ($space/1024)/1024;
echo round($space,2)." Mb";
?>
0
 
LVL 27

Assisted Solution

by:Diablo84
Diablo84 earned 20 total points
ID: 11892905
or similarily in Gb

<?php
$space = disk_free_space("C:");
$space = (($space/1024)/1024)/1024;
echo round($space,2)." Gb";
?>
0
 
LVL 27

Expert Comment

by:Diablo84
ID: 11893783
A simple function i just wrote which may be useful to someone in the future:

<?php
function drivestat($drive,$graph=false) {

 $total = disk_total_space($drive);
 $free = disk_free_space($drive);
 $used = $total - $free;
 
 $percent = ($used/$total)*100;
 $percent = round($percent,0);

 $total = round(($total/1024/1024/1024),1)." Gb";
 $free = round(($free/1024/1024/1024),1)." Gb";
 $used = round(($used/1024/1024/1024),1)." Gb";
 
 $output =
 "<b>Drive $drive Information:</b><br>\n
 Total Capacity: $total<br>\n
 Used: $used - Free: $free<br>\n
 ";
 
 if ($graph == true) {
 
 $output .= '
 <table style="width: 180px; border: 1px solid #000000; font-size: 12px; color: #FFFFFF;" cellspacing="0">
  <tr>
   <td style="width: '.$percent.'%; background-color: #0000FF; text-align: center;">'.$percent.'%</td>
   <td style="width: '.(100-$percent).'%; background-color: #FF0000; text-align: center;">'.(100-$percent).'%</td>
  </tr>
 </table>';
 
 }
 
 return $output;
 
}

echo drivestat("C:",true);
?>
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
These days socially coordinated efforts have turned into a critical requirement for enterprises.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question