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['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>"; } }
위 출력 결과는 다음과 같습니다.
설명:
strripos() 함수 다른 문자열에서 지정된 문자열이 마지막으로 나타나는지 확인하는 데 사용됩니다. 이 함수를 통해 다른 문자열 B에서 지정된 문자열 A의 마지막 위치를 가져올 수 있습니다. 반환 값은 int 유형입니다. 반환 값을 기준으로 문자열 A를 구분점으로 사용하여 문자열 B를 가로챌 수 있습니다. 차단 작업을 수행할 때 기능을 적용해야 합니다.
아아아아위 내용은 PHP 파일 시스템 기능을 통해 디스크 파티션의 크기를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!