>백엔드 개발 >PHP 튜토리얼 >PHP에서 다중 파일 ZIP 아카이브를 만들고 다운로드하는 방법은 무엇입니까?

PHP에서 다중 파일 ZIP 아카이브를 만들고 다운로드하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-23 19:42:15598검색

How to Create and Download a Multi-File ZIP Archive in PHP?

PHP에서 여러 파일이 포함된 ZIP 아카이브 생성

PHP를 사용하여 여러 파일을 단일 ZIP 아카이브로 다운로드하려면 ZipArchive 클래스를 활용할 수 있습니다. .

ZIP 만들기 아카이브:

$files = array('readme.txt', 'test.html', 'image.gif');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();

이 코드는 'file.zip'이라는 ZIP 아카이브를 생성하고 여기에 지정된 파일을 추가합니다.

다운로드를 위해 ZIP 아카이브 스트리밍:

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

이러한 헤더는 브라우저가 다운로드 프롬프트를 표시하고 적절한 파일 이름과 파일 이름을 설정하도록 준비합니다. 크기. ZIP 아카이브 파일을 읽고 해당 콘텐츠를 스트리밍하면 브라우저가 이를 다운로드할 수 있습니다.

추가 참고 사항:

  • 'Content-disposition' 헤더는 사용자에게 다운로드 상자를 표시하는 브라우저입니다.
  • 'Content-Length' 헤더는 선택사항이지만 호환성을 보장합니다. 이전 브라우저를 사용합니다.
  • 이 접근 방식을 사용하면 여러 파일과 다운로드가 포함된 ZIP 아카이브를 동적으로 생성할 수 있습니다.

위 내용은 PHP에서 다중 파일 ZIP 아카이브를 만들고 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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