PHP에서 zip 파일의 함수는 일반적으로 zip_open () , zip_read () 및 zip_entry_read ()를 사용하여 처리됩니다. 이를 통해 zip 파일을 열고 파일 항목을 반복하고 파일 내용을 읽을 수 있습니다. 이 기사는 완전한 예제를 사용 하여이 세 가지 기능을 사용하여 ZIP 파일을 읽는 방법을 설명합니다.
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 파일 자원을 닫습니다.
다음 예제는 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);
?>
zip_open ()은 로컬 파일 경로를 지원하고 원격 URL은 PHP에 의존하는 allow_url_fopen 설정을 지원합니다. 원격 개구부가 실패하면 작동하기 전에 zip 파일을 로컬로 다운로드하는 것이 좋습니다.
이진 파일의 내용을 읽을 때 직접 출력으로 인해 코드가 나오거나 페이지 예외가 발생할 수 있습니다. 필요에 따라 데이터를 처리하는 것이 좋습니다.