>  기사  >  백엔드 개발  >  PHP 파일 시스템 기능을 통해 디스크 파티션의 크기를 얻는 방법

PHP 파일 시스템 기능을 통해 디스크 파티션의 크기를 얻는 방법

黄舟
黄舟원래의
2017-05-20 16:56:283003검색

PHP 파일 시스템 기능을 통해 디스크 파티션의 크기를 알아내는 방법

파일 시스템 기능을 통해 디렉토리와 파일을 조작할 수 있을 뿐만 아니라, 디렉토리도 얻고, 파일 관련 정보도 얻고, 디스크 파티션의 크기도 알아낼 수 있는지!

디스크 파티션의 크기를 구하려면 disk_total_sapce() 함수를 사용하고, 디스크 파티션의 남은 공간을 구하려면 disk_free_space() 함수를 사용합니다.

disk_total_space() 함수: 디렉터리의 디스크 크기를 가져옵니다. 구문 형식은 다음과 같습니다.

float disk_total_space(string directory)

이 함수는 제공되는 디렉터리 문자열을 기반으로 해당 파일 시스템 또는 디스크 구별을 반환합니다. 매개변수 디렉토리.

참고:

이 기능은 원격 파일에 작동할 수 없으며 감지된 파일은 통과해야 합니다. 서버 파일 시스템 액세스를 통해!

disk_free_space() 함수: 디렉터리의 사용 가능한 공간을 가져옵니다. 구문 형식은 다음과 같습니다.

float disk_free_space(string 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[&#39;file_name&#39;]){
if($_POST[&#39;file_name&#39;]!="" && is_file($_POST[&#39;file_name&#39;])==false){
    $file_name = iconv("utf-8","gb2312",$_POST[&#39;file_name&#39;]);      // 编码格式转换
    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[&#39;file_name&#39;]."目录下的内容:"."<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(&#39;目录不存在!&#39;);</script>";
    }
}else{
    echo "<script>alert(&#39;请输入正确的目录路径!&#39;);</script>";
}
}

위 출력 결과는 다음과 같습니다.

PHP 파일 시스템 기능을 통해 디스크 파티션의 크기를 얻는 방법

설명:

strripos() 함수 다른 문자열에서 지정된 문자열이 마지막으로 나타나는지 확인하는 데 사용됩니다. 이 함수를 통해 다른 문자열 B에서 지정된 문자열 A의 마지막 위치를 가져올 수 있습니다. 반환 값은 int 유형입니다. 반환 값을 기준으로 문자열 A를 구분점으로 사용하여 문자열 B를 가로챌 수 있습니다. 차단 작업을 수행할 때 기능을 적용해야 합니다.

아아아아

위 내용은 PHP 파일 시스템 기능을 통해 디스크 파티션의 크기를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.