압축 파일을 사용하면 디스크 공간을 절약할 수 있으며 압축 파일은 더 작고 네트워크 전송에 편리하며 효율성이 높습니다. 이 기사에서는 PHP를 사용하여 zip 압축 파일을 만드는 방법을 소개합니다. 이것이 도움이 되기를 바랍니다.
PHP에는 zip 파일을 만드는 데 쉽게 사용할 수 있는 ZipArchive 클래스가 있습니다. 다음은 PHP에서 zip 파일을 생성하는 방법의 예입니다. [동영상 튜토리얼 추천: PHP Tutorial]
새 zip 파일 만들기
다음 코드는 새 zip 파일(test_new.zip)을 만들고 여기에 몇 가지 파일을 추가합니다.
<?php $zip = new ZipArchive; if ($zip->open('test_new.zip', ZipArchive::CREATE) === TRUE) { // 将文件添加到zip文件 $zip->addFile('test.txt'); $zip->addFile('test.pdf'); // 将random.txt文件添加到zip并将其重命名为newfile.txt $zip->addFile('random.txt', 'newfile.txt'); // 将有指定文本的new.txt文件添加到zip文件中 $zip->addFromString('new.txt', '要添加到new.txt文件中的文本'); // 关闭zip文件 $zip->close(); } ?>
코드 설명:
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('test_overwrite.zip', ZipArchive::OVERWRITE) === TRUE) { // 将文件添加到zip文件 $zip->addFile('test.txt'); $zip->addFile('test.pdf'); // 关闭zip文件 $zip->close(); } ?>
코드 설명
이 코드는 test_overwrite.zip 파일을 생성합니다. 파일이 이미 존재하는 경우 이 새 파일로 파일을 덮어씁니다.
새 zip 파일을 만들고 지정된 폴더에 파일을 추가합니다
<?php $zip = new ZipArchive; if ($zip->open('test_folder.zip', ZipArchive::CREATE) === TRUE) { // 将文件添加到zip文件中的demo_folder文件夹内 $zip->addFile('text.txt', 'demo_folder/test.txt'); $zip->addFile('test.pdf', 'demo_folder/test.pdf'); // 将random.txt文件添加到zip文件中的demo_folder文件夹内,并重命名为newfile.txt $zip->addFile('random.txt', 'demo_folder/newfile.txt'); // 将有指定内容的new.txt添加到zip文件中的demo_folder文件夹 $zip->addFromString('demo_folder/new.txt', '要添加到new.txt文件中的文本'); // 关闭zip文件 $zip->close(); } ?>
코드 설명
위 코드는 zip 파일의 다른 파일을 데모_폴더 폴더에 추가합니다
두 번째 매개변수 addfile 함수 중 하나를 사용하여 새 폴더에 파일을 저장할 수 있습니다.
addFromString 함수의 첫 번째 매개변수를 사용하여 새 폴더에 파일을 저장할 수 있습니다.
새 zip 파일을 만들고 파일이 다른 폴더에 추가됩니다. 폴더
<?php $zip = new ZipArchive; if ($zip->open('test_folder_change.zip', ZipArchive::CREATE) === TRUE) { // 将文件添加到zip文件 $zip->addFile('text.txt', 'demo_folder/test.txt'); $zip->addFile('test.pdf', 'demo_folder1/test.pdf'); // 关闭zip文件 $zip->close(); } ?>
code description description Zip 파일에 text 파일을 demo_folder 폴더에 그리고 test.pdf 파일 스토어에 demo_folder1 폴더에 저장합니다. 디렉터리의 모든 파일을 포함하는 zip 파일 생성
<?php $zip = new ZipArchive; if ($zip->open('test_dir.zip', ZipArchive::OVERWRITE) === TRUE) { if ($handle = opendir('demo_folder')) { // 添加目录中的所有文件 while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != ".." && !is_dir('demo_folder/' . $entry)) { $zip->addFile('demo_folder/' . $entry); } } closedir($handle); } $zip->close(); } ?>
코드 설명
5-16행: 디렉터리를 열고 디렉터리의 모든 파일이 포함된 zip 파일 생성
5행: 디렉터리 열기8행: 디렉터리에 있는 각 파일의 이름 가져오기
10행: ".", ".." 및 기타 디렉터리 건너뛰기 12행: zip 파일에 파일 추가 15행: 디렉터리 닫기 18행: zip 파일 닫기 여러 디렉터리의 모든 파일을 포함하는 zip 파일 만들기 다음 코드는 이러한 디렉터리의 다양한 폴더와 파일을 zip 파일<?php $zip = new ZipArchive; if ($zip->open('test_files_dirs.zip', ZipArchive::OVERWRITE) === TRUE) { // 添加 directory1 if ($handle = opendir('demo_folder/directory1/')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $zip->addFile('demo_folder/directory1/' . $entry); } } closedir($handle); } // 添加 directory2 if ($handle = opendir('demo_folder/directory2/')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $zip->addFile('demo_folder/directory2/' . $entry); } } closedir($handle); } // 添加 directory3 if ($handle = opendir('demo_folder/directory3/')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $zip->addFile('demo_folder/directory3/' . $entry); } } closedir($handle); } $zip->close(); } ?>
코드 설명
라인 6-42: 디렉토리 디렉토리 1 추가, 디렉토리 2와 디렉토리 3의 모든 파일이 zip 파일의 해당 디렉토리에 추가됩니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !
위 내용은 PHP를 사용하여 zip 파일을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!