PHP의 zip 압축 패키지 처리는 특히 사용자 또는 포장 된 데이터 파일이 업로드 한 압축 파일을 처리 할 때 매우 일반적인 작업입니다. Ziparchive 는 최신 PHP에서 권장되는 작업 클래스이지만 Zip_Open 및 Zip_Read 와 같은 기능은 특정 특정 시나리오 또는 이전 버전의 PHP에서 여전히 널리 사용됩니다. 이 기사에서는 Zip_Open 및 Zip_read를 통해 ZIP 파일의 모든 항목을 ZIP 파일로 읽는 방법을 소개합니다.
PHP는 다음을 포함하여 zip 파일을 조작하기위한 일련의 기본 기능을 제공합니다.
zip_open ($ filename) : zip 파일을 열고 zip 핸들을 반환합니다.
Zip_Read ($ Zip) : 다음 항목을 읽고 항목 자원을 반환하십시오.
zip_entry_name ($ entry) : 항목 이름을 얻습니다.
zip_entry_open ($ zip, $ entry) : 항목을 엽니 다.
zip_entry_read ($ entry, $ length) : 열린 항목의 내용을 읽습니다.
zip_entry_close ($ entry) : 현재 열린 항목을 닫으십시오.
이러한 기능을 통해 각 압축 패키지의 파일에 스트리밍 방식으로 파일에 액세스 할 수 있습니다.
다음은 ZIP 파일의 모든 항목을 읽기 위해 이러한 기능을 사용하는 방법을 보여주는 완전한 예입니다.
<code> $ zipfile = '/path/to/your/archive.zip';$ zip = zip_open ($ zipfile);
if (is_resource ($ zip)) {
while ($ entry = zip_read ($ zip)) {
$ entryname = zip_entry_name ($ entry);
에코 "독서 항목 :". $ EntryName. php_eol;
if (zip_entry_open($zip, $entry, "r")) {
$content = '';
while ($buffer = zip_entry_read($entry, 1024)) {
$content .= $buffer;
}
echo "내용은 다음과 같습니다:" . PHP_EOL;
echo $content . PHP_EOL;
zip_entry_close($entry);
} else {
echo "항목을 열 수 없습니다: " . $entryName . PHP_EOL;
}
}
zip_close($zip);
} 또 다른 {
echo "zip 파일을 열 수 없습니다." . php_eol;
}
</코드>
사용자 업로드 압축 패키지 해석 : 예를 들어, 사용자가 일부 사진 또는 텍스트 파일을 압축 패키지로 업로드하면 위의 메소드를 사용하여 각 파일의 내용을 읽고 서버에 저장할 수 있습니다.
배치 구성 파일 읽기 : 일부 자동화 된 배포 시스템은 여러 구성 파일을 ZIP에 패키지하고 읽기를 통해 필요한 정보를 추출 할 수 있습니다.
데이터 마이그레이션 및 백업 복구 : 백업 압축 파일에서 각 데이터 항목을 읽고 대상 시스템에 쓰십시오.
zip_open 관련 기능은 PHP의 zip 확장에 의해 제공되며 PHP 환경에서 확장이 활성화되어 있는지 확인해야합니다.
이러한 기능은 간단한 압축 패키지 처리에 적합하며 Ziparchive는 암호화 된 압축 패키지 또는 복잡한 구조에 권장됩니다.
zip_entry_read 의 기본 최대 읽기 길이는 과도한 메모리 오버 헤드를 방지하기 위해 1024 또는 기타 적절한 값으로 설정하는 것이 좋습니다.
사용자가 업로드 한 파일의 경우 ZIP 장치 공격 (ZIP 슬립)을 방지하기 위해 경로 및 내용 처리에주의하십시오.
프론트 엔드에서 서버 주소까지 업로드 된 압축 패킷이 있다고 가정합니다.
<code> https://m66.net/uploads/data.zip </code>로컬로 저장 하고이 코드를 사용하여 처리하고 압축 패키지의 내용을 분류하거나 저장할 수 있습니다.
zip_open 및 zip_read를 사용하여 PHP는 Zip 파일의 항목을 하나씩 통과하는 저수준이지만 유연한 방법을 제공합니다. Ziparchive는 현대 개발에서 더 권장되지만 이러한 기본 기능은 특정 특정 환경에서 여전히 실용적입니다. 작동 방식을 이해하면 압축 파일을 처리 할 때 더 많은 제어 및 유연성을 얻을 수 있습니다.