로컬 데이터용 PHP로 파일 크기 계산
11334 단어 phptutorialwebdevprogramming
사전 요구
어레이 준비
준비해야 하는 배열은 확인할 데이터의 크기를 바이트 단위로 필터링하는 데 사용되는 배열입니다.
$arBytes = array(
0 => array(
"UNIT" => "TB",
"VALUE" => pow(1024, 4)
),
1 => array(
"UNIT" => "GB",
"VALUE" => pow(1024, 3)
),
2 => array(
"UNIT" => "MB",
"VALUE" => pow(1024, 2)
),
3 => array(
"UNIT" => "KB",
"VALUE" => 1024
),
4 => array(
"UNIT" => "B",
"VALUE" => 1
),
);
다차원 배열에는
VALUE
값이 UNIT
를 나타내는 값인 여러 단위 바이트가 있음을 알 수 있습니다. 숫자 또는 사용pow
또는 지수의 형태로 직접 사용할 수 있습니다. 예를 들어 pow(1024,2)
는 1024의 2승인 약 1백만을 의미합니다. 이 pow
기능을 사용하면 쓰기를 줄이는 데 도움이 됩니다.프로세스 데이터
filesize()
함수로 바이트 데이터를 먼저 검색한 직후 데이터 처리를 수행할 수 있습니다. 완료되면 우리가 만든 필터 배열을 활용하여 필터를 직접 처리할 수 있습니다. $bytes = filesize('url_file');
$bytes = floatval($bytes);
foreach($arBytes as $arItem){
if($bytes >= $arItem["VALUE"])
{
$result = $bytes / $arItem["VALUE"];
$result = str_replace(".", "," , strval(round($result, 2)))." ".$arItem["UNIT"];
break;
}
}
floatval
를 사용하여 데이터가 잘 선택되고 숫자인지 확인하십시오. foreach
는 필터 배열 데이터를 호출하고 그 안에 있는 if
문으로 나가는 데이터를 결정합니다. $bytes
데이터는 필터 배열의 각 VALUE
데이터와 비교되며 조건>=
이 충족되면 새 데이터$bytes
가 처리됩니다. 최종 결과 또는 $result
를 찾는 과정은 두 단계로 수행되며 첫 번째 단계는 위의 조건에 따라 데이터를 배열 값으로 나누는 것입니다. 두 번째 단계는 처리된 값을 기준으로 UNIT
를 설치하고 round
함수에 의해 반올림 처리 후 점 속성을 쉼표로 변경하는 것입니다.전반적으로 스크립트는 다음과 같을 수 있습니다.
function FileSizeConvert($url){
$bytes = filesize($url);
$bytes = floatval($bytes);
$arBytes = array(
0 => array(
"UNIT" => "TB",
"VALUE" => pow(1024, 4)
),
1 => array(
"UNIT" => "GB",
"VALUE" => pow(1024, 3)
),
2 => array(
"UNIT" => "MB",
"VALUE" => pow(1024, 2)
),
3 => array(
"UNIT" => "KB",
"VALUE" => 1024
),
4 => array(
"UNIT" => "B",
"VALUE" => 1
),
);
foreach($arBytes as $arItem){
if($bytes >= $arItem["VALUE"])
{
$result = $bytes / $arItem["VALUE"];
$result = str_replace(".", "," , strval(round($result, 2)))." ".$arItem["UNIT"];
break;
}
}
return $result;
}
완료
Reference
이 문제에 관하여(로컬 데이터용 PHP로 파일 크기 계산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andysaktia/menghitung-ukuran-file-59ao텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)