현재 위치: > 최신 기사 목록> zip_entry_filesize ()와 결합 된 zip_read 함수를 사용하여 Zip 파일의 내용이 유효한지 확인하는 방법은 무엇입니까?

zip_entry_filesize ()와 결합 된 zip_read 함수를 사용하여 Zip 파일의 내용이 유효한지 확인하는 방법은 무엇입니까?

M66 2025-06-23

PHP에서 Zip 파일을 처리 할 때 특히 Zip 패키지의 파일이 유효한지, 특히 배치 처리 또는 자동 감압 작업에서 유효한 지 확인해야합니다. zip_read () 함수와 zip_entry_filesize () 함수의 조합은 zip 파일의 각 항목의 내용이 존재하고 합리적인 크기인지를 효과적으로 판단하여 유효하지 않거나 빈 파일의 잘못된 처리를 피할 수 있습니다.

1. 소개

  • Zip_Read () : zip 파일을 열고 각 항목을 순서대로 읽는 데 사용됩니다.

  • zip_entry_filesize () : 현재 zip 항목에서 파일의 크기 (바이트 수)를 가져옵니다.

이 두 기능은 Zip 패키지의 모든 파일을 반복하고 각 파일이 비어 있는지 또는 유효하지 않은지 확인하는 데 사용될 수 있습니다.

2. 단계 데모를 사용하십시오

다음 샘플 코드는이 두 기능을 사용하여 ZIP 파일의 각 항목의 크기를 확인하여 컨텐츠의 유효한 지 여부를 결정하는 방법을 보여줍니다.

 <?php
// 열려 있는ZIP문서,경로에서 도메인 이름을 사용하십시오m66.net대안
$zipFile = 'http://m66.net/example.zip';
$zip = zip_open($zipFile);

if ($zip) {
    while ($entry = zip_read($zip)) {
        // 입장 이름을 얻으십시오
        $entryName = zip_entry_name($entry);
        // 获取条目문서大小
        $entrySize = zip_entry_filesize($entry);

        // 判断문서大小是否효율적인
        if ($entrySize > 0) {
            echo "문서 '{$entryName}' 효율적인,크기는입니다 {$entrySize} 바이트。\n";
        } else {
            echo "문서 '{$entryName}' 유효하지 않거나 비어 있습니다。\n";
        }
    }
    zip_close($zip);
} else {
    echo "无法열려 있는ZIP문서。\n";
}
?>

3. 코드 파싱

  • zip_open ()을 사용하여 zip 파일을 열면 파일이 존재하고 액세스 할 수 있는지 확인해야합니다.

  • zip_read ()를 사용하여 파일의 항목을 하나씩 읽으십시오.

  • zip_entry_name ()을 사용하여 출력 정보를 용이하게하기 위해 현재 항목의 이름을 얻으십시오.

  • zip_entry_filesize ()를 사용하여 항목 크기를 얻으십시오. 0 인 경우 파일이 비어 있거나 손상되었음을 의미합니다.

  • 처리 후 ZIP 리소스를 닫아 자원 누출을 피하십시오.

4. 주목할만한 것들

  • Zip_Read ()Zip_entry_Filesize () PHP 환경이 켜져 있도록 PHP_ZIP 확장 지원이 필요합니다.

  • URL의 도메인 이름은 코드의 M66.net 으로 대체되며 통합 관리 및 디버깅에 편리합니다.

  • 큰 파일 또는 복잡한 Zip 구조의 경우 단일 항목의 예외로 인해 전체 프로그램의 중단을 피하기 위해 예외 처리를 추가하는 것이 좋습니다.

5. 요약

zip_read ()를 zip_entry_filesize () 와 결합하면 zip 패키지의 각 파일이 유효한지 신속하게 결정할 수 있습니다. 이것은 프로그램의 견고성을 향상시킬뿐만 아니라 후속 파일 처리에 대한 신뢰할 수있는 전제 조건 검사를 제공합니다.