라이브러리
[PHP] ZipArchive::addPattern - PCRE 패턴으로 디렉토리에서 파일 추가
ZipArchive::addPattern이란 무엇인가?
PHP의 ZipArchive 클래스는 파일이나 디렉토리를 ZIP 아카이브에 추가할 수 있는 메서드를 제공합니다. `addPattern` 메서드는 ZIP 아카이브에 특정 패턴에 해당하는 파일이나 디렉토리를 추가할 수 있도록 합니다.
addPattern 메서드의 사용법
`addPattern` 메서드는 다음과 같은 형식으로 사용할 수 있습니다.
#hostingforum.kr
php
ZipArchive::addPattern($pattern, $rootDir, $flags)
- `$pattern`: ZIP 아카이브에 추가할 파일이나 디렉토리의 패턴을 지정합니다. 패턴은 PHP의 `glob` 함수와 유사하게 사용됩니다.
- `$rootDir`: 패턴을 적용할 디렉토리의 루트 경로를 지정합니다.
- `$flags`: 추가 옵션을 지정합니다. 현재 지원하는 플래그는 다음과 같습니다.
- `GLOB_BRACE`: `{}`를 사용하여 패턴을 지정할 수 있습니다.
- `GLOB_NOSORT`: 패턴을 적용할 때 정렬을 수행하지 않습니다.
예제
다음 예제는 `addPattern` 메서드를 사용하여 ZIP 아카이브에 특정 패턴에 해당하는 파일이나 디렉토리를 추가하는 방법을 보여줍니다.
#hostingforum.kr
php
// ZIP 아카이브를 생성합니다.
$zip = new ZipArchive();
$zip->open('example.zip', ZipArchive::CREATE);
// 패턴을 지정합니다. 이 예제에서는 `*.txt` 파일을 추가합니다.
$pattern = '*.txt';
$rootDir = '/path/to/files';
// 패턴을 적용하여 ZIP 아카이브에 추가합니다.
$zip->addPattern($pattern, $rootDir);
// ZIP 아카이브를 닫습니다.
$zip->close();
이 예제에서는 `*.txt` 패턴에 해당하는 파일을 `/path/to/files` 디렉토리에서 ZIP 아카이브에 추가합니다.
예제 2: `{}`를 사용하여 패턴을 지정
다음 예제는 `{}`를 사용하여 패턴을 지정하는 방법을 보여줍니다.
#hostingforum.kr
php
// ZIP 아카이브를 생성합니다.
$zip = new ZipArchive();
$zip->open('example.zip', ZipArchive::CREATE);
// 패턴을 지정합니다. 이 예제에서는 `{*.txt,*.log}` 패턴을 사용합니다.
$pattern = '{*.txt,*.log}';
$rootDir = '/path/to/files';
// 패턴을 적용하여 ZIP 아카이브에 추가합니다.
$zip->addPattern($pattern, $rootDir, ZipArchive::GLOB_BRACE);
// ZIP 아카이브를 닫습니다.
$zip->close();
이 예제에서는 `{*.txt,*.log}` 패턴에 해당하는 파일을 `/path/to/files` 디렉토리에서 ZIP 아카이브에 추가합니다.
예제 3: `GLOB_NOSORT` 플래그를 사용하여 패턴을 적용
다음 예제는 `GLOB_NOSORT` 플래그를 사용하여 패턴을 적용하는 방법을 보여줍니다.
#hostingforum.kr
php
// ZIP 아카이브를 생성합니다.
$zip = new ZipArchive();
$zip->open('example.zip', ZipArchive::CREATE);
// 패턴을 지정합니다. 이 예제에서는 `*.txt` 패턴을 사용합니다.
$pattern = '*.txt';
$rootDir = '/path/to/files';
// 패턴을 적용하여 ZIP 아카이브에 추가합니다. `GLOB_NOSORT` 플래그를 사용합니다.
$zip->addPattern($pattern, $rootDir, ZipArchive::GLOB_NOSORT);
// ZIP 아카이브를 닫습니다.
$zip->close();
이 예제에서는 `*.txt` 패턴에 해당하는 파일을 `/path/to/files` 디렉토리에서 ZIP 아카이브에 추가합니다. `GLOB_NOSORT` 플래그를 사용하여 패턴을 적용합니다.
이러한 예제를 통해 `addPattern` 메서드를 사용하여 ZIP 아카이브에 특정 패턴에 해당하는 파일이나 디렉토리를 추가하는 방법을 이해할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.