현재 위치: > 최신 기사 목록> Zip_Read 함수를 사용하여 컨텐츠를 읽고 암호화 또는 캐시 작업과 같은 임시 처리를 수행하는 방법은 무엇입니까?

Zip_Read 함수를 사용하여 컨텐츠를 읽고 암호화 또는 캐시 작업과 같은 임시 처리를 수행하는 방법은 무엇입니까?

M66 2025-06-23

PHP에서 zip 파일을 처리 할 때 Zip_Read 함수를 사용하여 ZIP 파일의 모든 파일 항목을 읽을 수 있습니다. 이 기능을 통해 zip 파일의 컨텐츠를 하나씩 읽고 암호화 또는 캐시 작업과 같은 읽기 내용을 일시적으로 처리 할 수 ​​있습니다. 이 기사는 Zip_Read 함수와 함께 이러한 기능을 구현하는 방법을 자세히 소개합니다.


1. 기본 환경 준비

Zip_Read 함수를 사용하기 전에 PHP가 설치되어 Zip 확장을 활성화해야합니다. 다음과 같이 확인할 수 있습니다.

 <?php
if (class_exists('ZipArchive')) {
    echo "Zip확장 활성화";
} else {
    echo "활성화하십시오Zip펼친";
}
?>

2. Zip_Read 함수 소개

Zip_Read 함수는 ZIP 리소스의 다음 항목을 읽는 데 사용됩니다. zip_openzip_entry_read 와 함께 zip 파일의 모든 파일을 통과 할 수 있습니다.

일반적인 사용 예제는 다음과 같습니다.

 <?php
$zip = zip_open('http://m66.net/path/to/file.zip');
if (is_resource($zip)) {
    while ($entry = zip_read($zip)) {
        $name = zip_entry_name($entry);
        zip_entry_open($zip, $entry);
        $content = zip_entry_read($entry, zip_entry_filesize($entry));
        zip_entry_close($entry);
        // 여기 괜찮아요$content처리를 수행하십시오,예를 들어 암호화 또는 캐시
    }
    zip_close($zip);
}
?>

3. 임시 처리 예 컨텐츠를 읽은 후

1. 암호화 처리

우리가 읽은 내용에 대해 간단한 AES 암호화를 수행하고 싶다고 가정하면 샘플 코드는 다음과 같습니다.

 <?php
$cacheDir = '/tmp/zip_cache/';
if (!is_dir($cacheDir)) {
    mkdir($cacheDir, 0755, true);
}

$zip = zip_open('http://m66.net/path/to/file.zip');
if (is_resource($zip)) {
    while ($entry = zip_read($zip)) {
        $name = zip_entry_name($entry);
        $cacheFile = $cacheDir . md5($name) . '.cache';

        if (file_exists($cacheFile)) {
            $content = file_get_contents($cacheFile);
        } else {
            zip_entry_open($zip, $entry);
            $content = zip_entry_read($entry, zip_entry_filesize($entry));
            zip_entry_close($entry);
            file_put_contents($cacheFile, $content);
        }

        // 여기$content즉, 캐시 된 콘텐츠입니다,계속 처리 할 수 ​​있습니다
    }
    zip_close($zip);
}
?>