현재 위치: > 최신 기사 목록> Zip_Read를 사용하여 마지막 Zip 항목을 읽었는지 확인하는 방법은 무엇입니까?

Zip_Read를 사용하여 마지막 Zip 항목을 읽었는지 확인하는 방법은 무엇입니까?

M66 2025-06-23

PHP에서 Zip 파일로 작업 할 때는 압축 패키지의 모든 항목을 통과해야합니다. php는 zip_entry_read ()가 Zip 파일의 내용을 읽기 위해 Zip_Read () 함수를 제공하지만 실제 작동에서 마지막 항목이 읽은지 여부를 결정하는 방법은 일반적인 문제입니다.

이 기사에서는 PHP의 Zip Extension 및 Zip_read () 기능을 사용하여 압축 패키지의 모든 항목이 읽었는지 여부를 결정하는 방법을 자세히 설명합니다.

1. 기본 사용법 검토

먼저 zip_open () 가있는 zip 파일을 열고 리소스 핸들을 반환 한 다음 zip_read () 를 통해 각 항목 객체를 얻어야합니다. 예제는 다음과 같습니다.

 $zip = zip_open("http://m66.net/path/to/yourfile.zip");
if (is_resource($zip)) {
    while ($entry = zip_read($zip)) {
        echo "항목을 읽습니다: " . zip_entry_name($entry) . "\n";
        // 항목을 읽습니다콘텐츠
        if (zip_entry_open($zip, $entry)) {
            $content = zip_entry_read($entry, zip_entry_filesize($entry));
            echo $content;
            zip_entry_close($entry);
        }
    }
    zip_close($zip);
} else {
    echo "열려 있는 ZIP 파일이 실패했습니다";
}

위의 코드에서는 각 항목을 순서 대로 ($ entry = zip_read ($ zip)) 로 가져오고 루프의 끝은 모든 항목을 읽었 음을 의미합니다.

2. 마지막 항목을 읽은 것을 결정하는 방법은 무엇입니까?

zip_read ()는 다음 항목 자원을 반환합니다. 거짓이 반환되면 더 이상 항목이 없음을 의미합니다. 실제로 Zip_Read () 의 리턴 값이 False 인지 직접 결정하는 것은 모든 항목을 읽었는지 여부를 결정하는 것입니다.

예:

 $zip = zip_open("http://m66.net/path/to/yourfile.zip");
if (is_resource($zip)) {
    while (($entry = zip_read($zip)) !== false) {
        echo "현재 항목: " . zip_entry_name($entry) . "\n";
        // 항목의 내용을 처리하십시오
    }
    echo "모든 항목을 읽었습니다。\n";
    zip_close($zip);
}

이 코드에서 Zip_Read ()가 False를 반환 할 프로그램은 모든 항목이 가로 지르고 있음을 고려할 수 있습니다.

3. 완전한 예

다음은 zip 파일의 모든 항목을 읽고 이름 및 내용을 출력하는 데모입니다.

 <?php
$zipFile = "http://m66.net/files/example.zip";

$zip = zip_open($zipFile);
if (!is_resource($zip)) {
    die("无法열려 있는 ZIP 문서:$zipFile\n");
}

while (($entry = zip_read($zip)) !== false) {
    $entryName = zip_entry_name($entry);
    echo "입력 이름: $entryName\n";

    if (zip_entry_open($zip, $entry)) {
        $entrySize = zip_entry_filesize($entry);
        $content = zip_entry_read($entry, $entrySize);
        echo "콘텐츠:\n$content\n";
        zip_entry_close($entry);
    } else {
        echo "无法열려 있는条目: $entryName\n";
    }
}

echo "모든 항목을 읽었습니다。\n";
zip_close($zip);
?>

4. 요약

  • Zip_Read ()가 호출 될 때마다 다음 Zip 항목 자원을 반환하고 모든 항목을 읽은 후에 False를 반환합니다.

  • 마지막 항목을 읽었는지 확인하려면 Zip_Read () 의 리턴 값이 False 인지 확인하십시오.

  • zip_entry_open ()zip_entry_read ()를 결합하면 항목 내용을 읽을 수 있습니다.

위의 방법을 통해 ZIP 파일의 모든 항목을 효율적이고 정확하게 가로 지르고 읽기 진행 상황을 판단 할 수 있습니다.