> 백엔드 개발 > PHP 튜토리얼 > php_php 팁의 지정된 디렉토리에서 지정된 크기의 파일을 찾는 방법

php_php 팁의 지정된 디렉토리에서 지정된 크기의 파일을 찾는 방법

WBOY
풀어 주다: 2016-05-16 20:29:56
원래의
1309명이 탐색했습니다.

이 기사의 예에서는 PHP가 지정된 디렉토리에서 지정된 크기의 파일을 검색하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

파일 크기를 찾는 PHP의 원리는 디렉터리를 순회한 다음 filesize를 사용하여 파일 크기를 계산한 다음 한 가지 판단을 더 추가하는 것입니다.

먼저 디렉터리 순회를 살펴보겠습니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
함수 트리($directory)
{
$mydir = dir($디렉터리)
echo "
    n"
    while($file = $mydir->read())
    {
    if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
    {
    echo "
  • $file
  • n
    tree("$디렉터리/$파일")
    }  
    그렇지 않으면
    echo "
  • $file
  • n"; }
    echo "
n"
$mydir->닫기()
}
//실행 시작

echo "

디렉토리는 분홍색입니다


n"; tree("./nowamagic");

이는 모든 디렉터리의 파일만 표시하지만 크기를 확인하려면 round(filesize($cpath)/1024,1) 함수를 추가해야 크기를 가져온 후 파일 크기를 표시할 수 있습니다. 코드는 다음과 같습니다.


코드 복사 코드는 다음과 같습니다. header("Content-Type:text/html;charset=gbk")
set_time_limit(0)
$dirpath=디렉토리 이름(__FILE__)
//바이트
$한계바이트=1024*110
//여기에서 적절한 검색 파일의 최소 크기(바이트)로 변경합니다. 1024*100은 1024*100바이트, 즉 100KB를 의미합니다.
$arrRes=$arrTmp=배열()
showMaxFile($dirpath,$limitByte)
함수 showMaxFile($path,$limitByte){
글로벌 $arrRes
$h=opendir($경로)
if($h){
while (false !== ($file = readdir($h))) {
if($file!='.' && $file!='..'){
$cpath=$path.'/'.$file
if(is_dir($cpath)){
showMaxFile($cpath,$limitByte)
}그밖에{
if(filesize($cpath) > $limitByte){
$arrRes[]=array($cpath,round(filesize($cpath)/1024,1))
//echo "

{$cpath}
".(filesize($cpath) / 1024)."KB

"; }
}
}
}

}
닫힘($h)
}
foreach($arrRes as $k=>$v){
$arrTmp[$k]=$v[1]
}
정렬($arrTmp)
foreach($arrTmp as $k=>$v){
echo "

".str_replace($dirpath,'',$arrRes[$k][0])."
".$arrRes[$k][1]."";
}
?>

마지막으로 바이트 계산 기능을 첨부합니다. 코드는 다음과 같습니다.



코드 복사 코드는 다음과 같습니다. //바이트 수를 단위로 환산합니다 /* 원칙은 로그를 사용하여 변환할 바이트 수가 1024의 몇 제곱인지 알아내는 것입니다.
*실제로는 로그의 특성을 이용하여 단위를 결정하는 것입니다.
*/
function size2mb($size,$digits=2){ //숫자, 유지할 소수점 이하 자릿수
$unit= array('','K','M','G','T','P');//단위 배열은 1024자리 순서여야 합니다.
$base= 1024;//로그의 밑
$i = Floor(log($size,$base));//바이트 수는 1024의 로그 값이며 값은 반내림됩니다.
라운드($size/pow($base,$i),$digits).'.$unit[$i] 'B'; }


이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿