在平常编程中有时需要获取磁盘空间使用情况,大部分情况都是使用disk_free_space和disk_total_space函数。
下面实例就是获取服务器所有磁盘空间大小,实例如下:
/**
* 字节格式化 把字节数格式为B K M G T P E Z Y 描述的大小
* @param int $size 大小
* @param int $dec 显示类型
* @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];
}
/**
* 取得单个磁盘信息
* @param $letter
* @return array
*/
function get_disk_space($letter)
{
//获取磁盘信息
$diskct = 0;
$disk = array();
/*if(@disk_total_space($key)!=NULL) *为防止影响服务器,不检查软驱
{
$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; //磁盘总容量
$diskk = 0; //磁盘剩余容量
$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
}
/**
* 取得磁盘使用情况
* @return var
*/
function get_spec_disk($type='system')
{
$disk = array();
switch ($type)
{
case 'system':
//strrev(array_pop(explode(':',strrev(getenv_info('SystemRoot')))));//取得系统盘符
$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;
}
由此你可以扩展你一下,如获取整体磁盘空间大小,磁盘余下空间。
在这里也得重新说明一下,如果服务器有软盘记得要避开,否则会对服务器相关的软盘运行程序有定的阻碍,使用程序读取所有磁盘使用情况可能速度比较慢!注意!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。