PHP to read available disk space.

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.
Who is Participating?
snoyes_jwConnect With a Mentor Commented:
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.
use the disk_free_space function

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

$space = disk_free_space("C:");
$space = ($space/1024)/1024;
echo round($space,2)." Mb";
Diablo84Connect With a Mentor Commented:
or similarily in Gb

$space = disk_free_space("C:");
$space = (($space/1024)/1024)/1024;
echo round($space,2)." Gb";
A simple function i just wrote which may be useful to someone in the future:

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">
   <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>
 return $output;

echo drivestat("C:",true);
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.