현재 위치: > 최신 기사 목록> [PHP는 압축 패키지에서 ziparchive를 사용하여 압축 패키지에서 파일 압축 비율을 봅니다.]

[PHP는 압축 패키지에서 ziparchive를 사용하여 압축 패키지에서 파일 압축 비율을 봅니다.]

M66 2025-06-22

ziparchive를 사용하여 PHP의 압축 패키지에서 각 파일의 압축 속도를 보는 방법

매일 개발에서는 종종 우편 압축 파일을 사용하여 저장 공간과 전송 대역폭을 절약합니다. 압축 성능을 평가하려면 압축 패키지에서 각 파일의 압축 속도를 이해하는 것이 특히 중요합니다. PHP는 강력한 ziparchive 클래스를 제공하며,이를 통해 쉽게 달성 할 수 있습니다.

zip 파일을 열고 ziparchive 객체를 초기화하십시오

먼저 ziparchive 인스턴스를 생성하고 zip 파일을 열어야합니다.

 
$zip = new ZipArchive;
$zipFile = 'path/to/archive.zip';

if ($zip->open($zipFile) === true) {
    // 후속 압축 속도 분석 논리
} else {
    echo '열 수 없습니다ZIP문서';
}

zip로 파일을 반복하고 압축 속도를 계산하십시오

ZIP 파일을 열면 각 파일을 통과하여 원래 크기와 압축 크기를 얻음으로써 압축 속도를 계산할 수 있습니다.

 
$totalSizeBefore = 0;
$totalSizeAfter = 0;

for ($i = 0; $i < $zip->numFiles; $i++) {
    $fileName = $zip->getNameIndex($i);
    $stat = $zip->statIndex($i);
    $sizeBefore = $stat['size'];
    $sizeAfter = $stat['comp_size'];

    $totalSizeBefore += $sizeBefore;
    $totalSizeAfter += $sizeAfter;

    $compressionRate = ($sizeBefore - $sizeAfter) / $sizeBefore * 100;

    echo "문서名:{$fileName}<br/>";
    echo "압축 전 크기:{$sizeBefore} bytes<br/>";
    echo "압축 크기:{$sizeAfter} bytes<br/>";
    echo "압축률:{$compressionRate}%<br/>";
    echo "<br/>";
}

$averageCompressionRate = ($totalSizeBefore - $totalSizeAfter) / $totalSizeBefore * 100 / $zip->numFiles;

echo "总압축 전 크기:{$totalSizeBefore} bytes<br/>";
echo "总압축 크기:{$totalSizeAfter} bytes<br/>";
echo "平均압축률:{$averageCompressionRate}%<br/>";

$zip->close();

논리적 설명 및 응용 범위

위의 코드에서는 모든 파일의 압축 전후의 누적 크기를 나타내는 두 개의 총 변수 $ 총계$ etalsizate를 유지합니다. 트래버스 프로세스 동안, 각 파일의 압축 속도가 계산되고 전체 평균 압축 효과가 끝에서 얻어집니다.

이 방법은 기존 ZIP 파일 내용을 분석하는 데만 적합합니다. ZIP를 생성 할 때 압축 속도를 실시간으로 얻으려면 먼저 File_Get_Contents를 통해 파일 내용을 읽은 다음 GZCompress 로 압축을 시뮬레이션하여 압축 효율을 추정 할 수 있습니다.

요약

PHP와 함께 제공되는 Ziparchive 클래스를 사용하여 Zip 압축 패키지에서 파일 압축 속도를 빠르게 볼 수 있습니다. 이것은 압축 알고리즘의 성능을 평가하고 압축 로직 최적화 및 자원을 저장하는 데 매우 도움이됩니다. 프로젝트 에이 요구 사항이있는 경우 위의 방법을 시도하여 구현할 수도 있습니다.