>  기사  >  백엔드 개발  >  PHP를 사용하여 zip 파일을 만드는 방법

PHP를 사용하여 zip 파일을 만드는 방법

青灯夜游
青灯夜游원래의
2019-02-15 10:57:268026검색

압축 파일을 사용하면 디스크 공간을 절약할 수 있으며 압축 파일은 더 작고 네트워크 전송에 편리하며 효율성이 높습니다. 이 기사에서는 PHP를 사용하여 zip 압축 파일을 만드는 방법을 소개합니다. 이것이 도움이 되기를 바랍니다.

PHP를 사용하여 zip 파일을 만드는 방법

PHP에는 zip 파일을 만드는 데 쉽게 사용할 수 있는 ZipArchive 클래스가 있습니다. 다음은 PHP에서 zip 파일을 생성하는 방법의 예입니다. [동영상 튜토리얼 추천: PHP Tutorial]

새 zip 파일 만들기

다음 코드는 새 zip 파일(test_new.zip)을 만들고 여기에 몇 가지 파일을 추가합니다.

<?php
$zip = new ZipArchive;
if ($zip->open(&#39;test_new.zip&#39;, ZipArchive::CREATE) === TRUE)
{
    // 将文件添加到zip文件
    $zip->addFile(&#39;test.txt&#39;);
    $zip->addFile(&#39;test.pdf&#39;);
 
    // 将random.txt文件添加到zip并将其重命名为newfile.txt
    $zip->addFile(&#39;random.txt&#39;, &#39;newfile.txt&#39;);
 
    // 将有指定文本的new.txt文件添加到zip文件中
    $zip->addFromString(&#39;new.txt&#39;, &#39;要添加到new.txt文件中的文本&#39;);
 
    // 关闭zip文件
    $zip->close();
}
?>

PHP를 사용하여 zip 파일을 만드는 방법

코드 설명:

2행: ZipArchive 클래스의 객체 생성

3행: 파일을 추가할 수 있도록 test_new.zip이라는 파일을 생성하고 여는 데 사용됩니다. ZipArchive::CREATE 플래그는 새 zip 파일을 생성하려고 함을 지정합니다.

6행과 7행: zip 파일에 파일을 추가하는 데 사용됩니다.

10행: zip 파일에 random.txt라는 파일을 추가하고 zip 파일에서 이름을 newfile.txt로 바꾸는 데 사용됩니다.

13행: 새 파일 new.txt를 추가하는 데 사용되며 파일 내용은 "new.txt 파일에 추가할 텍스트"입니다.

16행: zip 파일을 닫고 변경 사항을 저장합니다.

참고: 파일에 대한 상대 경로를 사용할 때 때때로 문제가 발생할 수 있습니다. 경로 사용에 문제가 있는 경우 파일의 절대 경로를 사용하여 기존 zip 파일을 덮어쓸 수도 있습니다.

기존 zip 파일을 덮어쓰려면 다음과 유사한 코드를 사용할 수 있습니다. ZipArchive::OVERWRITE 플래그는 기존 zip 파일 덮어쓰기를 지정합니다.

<?php
$zip = new ZipArchive;
if ($zip->open(&#39;test_overwrite.zip&#39;, ZipArchive::OVERWRITE) === TRUE)
{
    // 将文件添加到zip文件
    $zip->addFile(&#39;test.txt&#39;);
    $zip->addFile(&#39;test.pdf&#39;);
 
    // 关闭zip文件
    $zip->close();
}
?>

PHP를 사용하여 zip 파일을 만드는 방법

코드 설명

이 코드는 test_overwrite.zip 파일을 생성합니다. 파일이 이미 존재하는 경우 이 새 파일로 파일을 덮어씁니다.

새 zip 파일을 만들고 지정된 폴더에 파일을 추가합니다

<?php
$zip = new ZipArchive;
if ($zip->open(&#39;test_folder.zip&#39;, ZipArchive::CREATE) === TRUE)
{
    // 将文件添加到zip文件中的demo_folder文件夹内
    $zip->addFile(&#39;text.txt&#39;, &#39;demo_folder/test.txt&#39;);
    $zip->addFile(&#39;test.pdf&#39;, &#39;demo_folder/test.pdf&#39;);
 
    // 将random.txt文件添加到zip文件中的demo_folder文件夹内,并重命名为newfile.txt
    $zip->addFile(&#39;random.txt&#39;, &#39;demo_folder/newfile.txt&#39;);
 
    //  将有指定内容的new.txt添加到zip文件中的demo_folder文件夹
    $zip->addFromString(&#39;demo_folder/new.txt&#39;, &#39;要添加到new.txt文件中的文本&#39;);
 
    // 关闭zip文件
    $zip->close();
}
?>

PHP를 사용하여 zip 파일을 만드는 방법

코드 설명

위 코드는 zip 파일의 다른 파일을 데모_폴더 폴더에 추가합니다

두 번째 매개변수 addfile 함수 중 하나를 사용하여 새 폴더에 파일을 저장할 수 있습니다.

addFromString 함수의 첫 번째 매개변수를 사용하여 새 폴더에 파일을 저장할 수 있습니다.

새 zip 파일을 만들고 파일이 다른 폴더에 추가됩니다. 폴더

PHP를 사용하여 zip 파일을 만드는 방법

5-PHP를 사용하여 zip 파일을 만드는 방법

5-PHP를 사용하여 zip 파일을 만드는 방법

<?php
$zip = new ZipArchive;
if ($zip->open(&#39;test_folder_change.zip&#39;, ZipArchive::CREATE) === TRUE)
{
    // 将文件添加到zip文件
    $zip->addFile(&#39;text.txt&#39;, &#39;demo_folder/test.txt&#39;);
    $zip->addFile(&#39;test.pdf&#39;, &#39;demo_folder1/test.pdf&#39;);
 
    // 关闭zip文件
    $zip->close();
}
?>

code description description Zip 파일에 text 파일을 demo_folder 폴더에 그리고 test.pdf 파일 스토어에 demo_folder1 폴더에 저장합니다. 디렉터리의 모든 파일을 포함하는 zip 파일 생성

<?php
$zip = new ZipArchive;
if ($zip->open(&#39;test_dir.zip&#39;, ZipArchive::OVERWRITE) === TRUE)
{
    if ($handle = opendir(&#39;demo_folder&#39;))
    {
        // 添加目录中的所有文件
        while (false !== ($entry = readdir($handle)))
        {
            if ($entry != "." && $entry != ".." && !is_dir(&#39;demo_folder/&#39; . $entry))
            {
                $zip->addFile(&#39;demo_folder/&#39; . $entry);
            }
        }
        closedir($handle);
    }
 
    $zip->close();
}
?>

코드 설명

5-16행: 디렉터리를 열고 디렉터리의 모든 파일이 포함된 zip 파일 생성 PHP를 사용하여 zip 파일을 만드는 방법

5행: 디렉터리 열기

8행: 디렉터리에 있는 각 파일의 이름 가져오기

10행: ".", ".." 및 기타 디렉터리 건너뛰기

12행: zip 파일에 파일 추가

15행: 디렉터리 닫기

18행: zip 파일 닫기

여러 디렉터리의 모든 파일을 포함하는 zip 파일 만들기

다음 코드는 이러한 디렉터리의 다양한 폴더와 파일을 zip 파일

<?php
$zip = new ZipArchive;
if ($zip->open(&#39;test_files_dirs.zip&#39;, ZipArchive::OVERWRITE) === TRUE)
{
    // 添加 directory1
    if ($handle = opendir(&#39;demo_folder/directory1/&#39;))
    {
        while (false !== ($entry = readdir($handle)))
        {
            if ($entry != "." && $entry != "..")
            {
                $zip->addFile(&#39;demo_folder/directory1/&#39; . $entry);
            }
        }
        closedir($handle);
    }
 
    // 添加 directory2
    if ($handle = opendir(&#39;demo_folder/directory2/&#39;))
    {
        while (false !== ($entry = readdir($handle)))
        {
            if ($entry != "." && $entry != "..")
            {
                $zip->addFile(&#39;demo_folder/directory2/&#39; . $entry);
            }
        }
        closedir($handle);
    }
 
    // 添加 directory3
    if ($handle = opendir(&#39;demo_folder/directory3/&#39;))
    {
        while (false !== ($entry = readdir($handle)))
        {
            if ($entry != "." && $entry != "..")
            {
                $zip->addFile(&#39;demo_folder/directory3/&#39; . $entry);
            }
        }
        closedir($handle);
    }
    $zip->close();
}
?>

에 추가합니다.

PHP를 사용하여 zip 파일을 만드는 방법

7-PHP를 사용하여 zip 파일을 만드는 방법

코드 설명7-PHP를 사용하여 zip 파일을 만드는 방법

라인 6-42: 디렉토리 디렉토리 1 추가, 디렉토리 2와 디렉토리 3의 모든 파일이 zip 파일의 해당 디렉토리에 추가됩니다. 7-PHP를 사용하여 zip 파일을 만드는 방법

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 PHP를 사용하여 zip 파일을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.