总结
豆包 AI 助手文章总结

如何通过php文件系统函数获取磁盘分区的大小

黄舟
发布: 2017-05-20 16:56:28
原创
3256人浏览过

如何通过php文件系统函数获取磁盘分区的大小

通过文件系统函数不但可以对目录、文件进行操作,而且可以获取目录,文件的相关信息,那么是否可以获取磁盘分区的大小呢!

获取磁盘分区的大小应用是 disk_total_sapce()函数,获取磁盘分区的剩余空间应用的是 disk_free_space()函数。

disk_total_space()函数:获取一个目录的磁盘大小,语法格式如下:

float disk_total_space(string directory)
登录后复制

该函数根据参数 directory提供的一个目录字符串,返回相应的文件系统或磁盘区分的所有字节数。

立即学习PHP免费学习笔记(深入)”;

注意:

本函数不能作用于远程文件,其检测的文件必须通过服务器的文件系统访问!

disk_free_space()函数:获取一个目录的可用空间,语法格式如下:

float disk_free_space(string directory)
登录后复制

参数 directory 用来指定文件系统或磁盘区分!

说明:

本函数返回的是该目录所在的磁盘分区的总大小,因此再给出同一个磁盘分区的不同目录作为参数所得到的结果完全相同!

应用实例

本示例应用 disk_total_space()函数获取磁盘分区大小。具体代码如下:

(1) 创建一个php文件,添加表单,设置文本框,提交按钮,使用POST方法,讲述提交到本页。

(2) 通过$_POST获取表单提交的目录路径,首先判断获取的目录是否合理。然后通过 iconv()函数对获取的字符串进行编码转换,接着对获取的字符串进行截取。获取该目录所在的裁判分区,并应用 disk_total_space()函数获取磁盘分区的大小,最后,应用 opendir()函数和 readdir()函数读取提交目录的内容,具体代码如下:

<form name="form1" action="6.php" method="post">
   文件名称: <input name="file_name" type="text">
           <input type="submit" name="Submit" value="提交">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");
if ($_POST['file_name']){
if($_POST['file_name']!="" && is_file($_POST['file_name'])==false){
    $file_name = iconv("utf-8","gb2312",$_POST['file_name']);      // 编码格式转换
    if (file_exists($file_name)){                                  //判断目录是否存在
        $len = strripos($file_name,":");                            //截取字符串
        $dir = substr($file_name,0,$len+1);                        //获取提交目录所在磁盘
        $filesize_z = disk_total_space($dir);                       //获取目录大小
        $filesize_z = number_format($filesize_z/(1024*1024*1024),2,".","");    //数字的格式化
        $filesize_s = disk_free_space($dir);                            //获取裁判剩余空间
        $filesize_s =  number_format($filesize_s/(1024*1024*1024),2,".",""); //字节的格式化
        echo "本地磁盘(".$dir.") 总大小:".$filesize_z." GB   可用空间:".$filesize_s."GB <br><br>";
        echo $_POST['file_name']."目录下的内容:"."<br>";
        $i = 0;
        $list = opendir($file_name);                                //打开目录
        while($read_list = readdir($list)){                         //读取目录
            $i++;
            echo "$i:".iconv("gb2312","utf-8",$read_list)."<br>";   //输出目录中的内容
        }
        closedir($list);                                            //关于目录
    }else{
        echo "<script>alert('目录不存在!');</script>";
    }
}else{
    echo "<script>alert('请输入正确的目录路径!');</script>";
}
}
登录后复制

上述输出结果如下:

134.png

说明:

strripos()函数用于判断指定字符串在另一字符串中最后出现的位置。通过本函数可以获取到指定字符串 A 在另一字符串 B 中最后出现的位置,其返回值为 int型,根据该返回值就可以对字符串 B 以字符串 A为分割点进行截取,在执行截取的操作时需要应用到 substr()函数。

$len = strripos($file_name,":");                            //截取字符串
$dir = substr($file_name,0,$len+1);                        //获取提交目录所在磁盘
登录后复制

以上就是如何通过php文件系统函数获取磁盘分区的大小的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号