


PHP gets the size of all disk space on the server_PHP tutorial
Jul 13, 2016 pm 05:46 PM
In daily programming, it is sometimes necessary to obtain disk space usage. In most cases, the disk_free_space and disk_total_space functions are used.
The following example is to obtain the size of all disk space of the server. The example is as follows:
/**
* Byte formatting Format the number of bytes into the size described by B K M G T P E Z Y
* @param int $size size
* @param int $dec display type
* @return int
*/
function byte_format($size,$dec=2)
{
$a = array("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB");
$pos = 0;
while ($size >= 1024)
{
$size /= 1024;
$pos++;
}
Return round($size,$dec)." ".$a[$pos];
}
/**
* Get single disk information
* @param $letter
* @return array
*/
function get_disk_space($letter)
{
//Get disk information
$diskct = 0;
$disk = array();
/*if(@disk_total_space($key)!=NULL) *To prevent affecting the server, the floppy drive is not checked
{
$diskct=1;
$disk["A"]=round((@disk_free_space($key)/(1024*1024*1024)),2)."G / ".round((@disk_total_space($key)/(1024*1024* 1024)),2).'G';
}*/
$diskz = 0; //Total disk capacity
$diskk = 0; //Disk remaining capacity
$is_disk = $letter.':';
If(@disk_total_space($is_disk)!=NULL)
{
$diskct++;
$disk[$letter][0] = byte_format(@disk_free_space($is_disk));
$disk[$letter][1] = byte_format(@disk_total_space($is_disk));
$disk[$letter][2] = round(((@disk_free_space($is_disk)/(1024*1024*1024))/(@disk_total_space($is_disk)/(1024*1024*1024)))*100, 2).'%';
$diskk+=byte_format(@disk_free_space($is_disk));
$diskz+=byte_format(@disk_total_space($is_disk));
}
Return $disk; www.2cto.com
}
/**
* Get disk usage
* @return var
*/
function get_spec_disk($type='system')
{
$disk = array();
switch ($type)
{
case 'system':
//strrev(array_pop(explode(':',strrev(getenv_info('SystemRoot')))));//Get the system drive letter
$disk = get_disk_space(strrev(array_pop(explode(':',strrev(getenv('SystemRoot'))))));
break;
case 'all':
foreach (range('b','z') as $letter)
{
$disk = array_merge($disk,get_disk_space($letter));
}
break;
default:
$disk = get_disk_space($type);
break;
}
Return $disk;
}
From this, you can expand it, such as getting the overall disk space size and the remaining disk space.
I have to reiterate here, if the server has a floppy disk, remember to avoid it, otherwise it will hinder the server-related floppy disk running program, and using the program to read all disk usage may be slow! Notice!

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development

How do you parse and process HTML/XML in PHP?

PHP Program to Count Vowels in a String

The Key to Coding: Unlocking the Power of Python for Beginners

Java Made Simple: A Beginner's Guide to Programming Power

Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder

Demystifying C: A Clear and Simple Path for New Programmers
