현재 위치: > 최신 기사 목록> php zip_open () 기능에 대한 자세한 설명 : zip 파일 및 사용 기술의 내용을 읽는 방법

php zip_open () 기능에 대한 자세한 설명 : zip 파일 및 사용 기술의 내용을 읽는 방법

gitbox 2025-06-18

1. 소개

zip_open ()은 php에서 중요한 기능입니다. zip 파일을 열고 읽는 데 사용되며 zip 압축 파일을 처리하는 기본 기능입니다. 이 기능은 PHP의 내장 Zip 확장의 일부이며 ZIP 파일을 읽고 수정 및 작동 할 수있는 기능을 제공합니다.

2. 구문

        Resource Zip_open (String $ filename, int $ flags [, String & $ error]))
    

3. 매개 변수 설명

Filename : 읽어야하는 zip 파일의 경로.

플래그 : 읽기 옵션을 지정하십시오. 사용 가능한 값은 다음과 같습니다.

  • ZipACHIVE :: 과다 작성 : 파일이 이미 존재하면 원본 파일을 덮어 씁니다.
  • ziparchive :: 작성 : 파일이 존재하지 않으면 새 파일을 만듭니다.
  • ziparchive :: 체크 콘 : ZIP 파일을 읽을 때 ZIP 파일의 무결성을 확인하십시오.
  • ziparchive :: 제외 : zip 파일을 만들 때 기존 파일을 덮어 쓰지 마십시오.

오류 : 오류 정보를 저장하는 선택적 매개 변수.

4. 예

4.1 ZIP 파일을 엽니 다

zip 클래스를 정의하고 생성자의 zip_open () 함수를 사용하여 대상 zip 파일을 엽니 다.

        클래스 zip {
            보호 된 $ zip = null;
        
            public function __construct ($ filename, $ flags = ziparchive :: checkcons) {
                $ this-> Zip = Zip_open ($ filename, $ flags);
            }
        }
    

4.2 ZIP 파일의 내용을 읽으십시오

루핑 중에 Zip 파일의 내용을 반복하고 zip_read () 함수를 사용하여 각 파일의 정보를 얻으십시오.

        클래스 zip {
            공개 기능 getEntries () {
                $ entries = [];
                while ($ entry = zip_read ($ this-> zip)) {
                    $ entries [] = [
                        '이름'=> zip_entry_name ($ entry),
                        'size'=> zip_entry_filesize ($ entry)
                    ];
                }
                반품 $ 항목;
            }
        }
    

4.3 파일 내용을 얻습니다

zip_entry_read () 함수를 사용하여 파일 내용을 읽고 읽기 데이터를 반환하십시오.

        공개 기능 getContent ($ name) {
            $ entry = zip_entry_open ($ this-> zip, $ name, 'rb');
            $ content = zip_entry_read ($ entry, zip_entry_filesize ($ entry));
            zip_entry_close ($ entry);
            $ 컨텐츠를 반환합니다.
        }
    

5. 요약

zip_open () 함수는 zip 파일을 처리하는 PHP의 핵심 함수입니다. 지퍼 파일을 읽고 파일 목록을 얻는 것을 지원합니다. 실제로 사용하면 적절한 읽기 옵션 및 매개 변수 구성을 선택하는 데주의를 기울여야합니다. 또한 Zip 라이브러리에 알려진 버그가있을 수 있으므로 개발자는 PHP 버전 및 Zip Extension 라이브러리가 최신 상태인지 확인해야합니다. 대형 지퍼 파일을 처리하는 상황의 경우 파일 크기 제한을 피하기 위해 64 비트 운영 체제를 사용하는 것이 좋습니다.