현재 위치: > 최신 기사 목록> zip_open (), zip_read () 및 zip_entry_read ()를 사용하여 zip 파일을 읽는 방법의 완전한 php 예제

zip_open (), zip_read () 및 zip_entry_read ()를 사용하여 zip 파일을 읽는 방법의 완전한 php 예제

M66 2025-06-06

PHP에서 zip 파일의 함수는 일반적으로 zip_open () , zip_read ()zip_entry_read ()를 사용하여 처리됩니다. 이를 통해 zip 파일을 열고 파일 항목을 반복하고 파일 내용을 읽을 수 있습니다. 이 기사는 완전한 예제를 사용 하여이 세 가지 기능을 사용하여 ZIP 파일을 읽는 방법을 설명합니다.


1. 기능 소개

  • zip_open ($ filename)
    zip 파일을 열고 리소스 핸들을 반환하십시오.

  • zip_read ($ zip)
    zip 파일의 다음 항목을 읽고 Zip Entry Resource를 반환하십시오.

  • zip_entry_read ($ entry, $ length)
    지퍼 항목의 내용을 읽고 지정된 바이트의 최대 수를 읽으십시오.

  • zip_entry_name ($ entry)
    현재 zip 항목의 파일 이름을 가져옵니다.

  • zip_close ($ zip)
    ZIP 파일 자원을 닫습니다.


2. 샘플 코드를 완료합니다

다음 예제는 zip 파일을 열고 내부의 모든 파일을 가로 지르는 방법을 보여주고 콘텐츠를 브라우저에 출력합니다.

 <?php
// ZIP파일 경로(실제 경로로 교체하십시오)
$zipFile = 'http://m66.net/path/to/your.zip';

// 열려 있는ZIP문서
$zip = zip_open($zipFile);

if (!$zip || is_numeric($zip)) {
    die("无法열려 있는ZIP문서");
}

echo "<h2>ZIP문서内容列表:</h2>";

while ($entry = zip_read($zip)) {
    // 获取当前문서名
    $fileName = zip_entry_name($entry);
    echo "<h3>문서名: $fileName</h3>";

    // 열려 있는ZIP기입
    if (zip_entry_open($zip, $entry)) {
        $fileSize = zip_entry_filesize($entry);
        $content = '';

        // 按块读取문서内容(가장 매번1024바이트)
        while ($data = zip_entry_read($entry, 1024)) {
            $content .= $data;
        }

        // 전류를 닫으십시오ZIP기입
        zip_entry_close($entry);

        // 输出문서内容(다음은 텍스트의 간단한 출력입니다,이진 데이터가 포함될 수 있습니다)
        echo "<pre>" . htmlspecialchars($content) . "</pre>";
    } else {
        echo "无法열려 있는문서기입: $fileName<br>";
    }
}

// 폐쇄ZIP문서
zip_close($zip);
?>

3. 주목할만한 것들

  1. zip_open ()은 로컬 파일 경로를 지원하고 원격 URL은 PHP에 의존하는 allow_url_fopen 설정을 지원합니다. 원격 개구부가 실패하면 작동하기 전에 zip 파일을 로컬로 다운로드하는 것이 좋습니다.

  2. 이진 파일의 내용을 읽을 때 직접 출력으로 인해 코드가 나오거나 페이지 예외가 발생할 수 있습니다. 필요에 따라 데이터를 처리하는 것이 좋습니다.