获取windows磁盘的可用空间函数

Posted 循环源圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取windows磁盘的可用空间函数相关的知识,希望对你有一定的参考价值。

<?php
    /*
    *获取某个磁盘的剩余空间
    *$param 关联数组,下标是哪个盘,单位,可以是B,KB,MB,GB
    *可以设置获取多个磁盘,例如:array(‘C‘=>‘KB‘,‘D‘=>‘MB‘,‘E‘=>‘GB‘,‘F‘=>‘B‘)
    *假如出错,返回false
    */
    function Space($arr){
        //检查参数
        if(is_array($arr)){
            //初始化存储值
            $memory = array();
            foreach($arr as $disk=>$size){
                $D = strtoupper($disk).‘:‘;//转化为大写的键盘路径
                $S = strtoupper($size);//转变为大写的单位
                if(in_array($D,array(‘C:‘,‘D:‘,‘E:‘,‘F:‘)) && in_array($S,array(‘B‘,‘KB‘,‘MB‘,‘GB‘,‘TB‘))){
                    switch($S){
                        case ‘B‘:
                            $memory[$disk]= disk_free_space($D).‘B‘;
                        break;
                        case ‘KB‘:
                            $d = round(disk_free_space($D) / 1024);
                            $memory[$disk] = $d .‘KB‘;
                        break;
                        case ‘MB‘:
                            $d = round(disk_free_space($D) / pow(1024,2));
                            $memory[$disk]= $d.‘MB‘;
                        break;
                        case ‘GB‘:
                            $d = round(disk_free_space($D) / pow(1024,3));
                            $memory[$disk]= $d.‘GB‘;
                        break;
                        case ‘TB‘:
                            $d =  sprintf("%.4f", disk_free_space($D) / pow(1024,4));
                            $memory[$disk] = $d .‘TB‘;
                        break;
                        default:
                            return 0;
                        break;
                    }
                }else{
                    return null;
                }
            }
            return $memory;
        }else{
            return null;
        }
    }
    $arr = array(‘c‘=>‘kb‘,‘d‘=>‘Mb‘,‘e‘=>‘Gb‘,‘f‘=>‘Tb‘);
    var_dump(Space($arr));

 

以上是关于获取windows磁盘的可用空间函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Postgres 中获取当前的可用磁盘空间?

使用 Swift 查询可用的 iOS 磁盘空间

使用 Prometheus 获取总磁盘空间和可用磁盘空间

获取磁盘空间错误,但有足够的可用磁盘空间

Azure 中如何获取未附加磁盘的磁盘容量和可用空间

如何在 Bash 中获取当前的可用磁盘空间?