라이브러리

[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 아카이브에 특정 패턴에 해당하는 파일이나 디렉토리를 추가하는 방법을 이해할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색