라이브러리
[PHP] ZipArchive::addGlob - glob 패턴으로 디렉토리에서 파일 추가
ZipArchive::addGlob
PHP의 ZipArchive 클래스는 파일을 압축하는 데 사용되는 클래스입니다. `addGlob` 메소드는 파일이나 디렉토리를 압축할 때 사용됩니다. 이 메소드는 glob 패턴을 사용하여 파일이나 디렉토리를 찾을 수 있습니다.
# 사용법
`addGlob` 메소드는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
ZipArchive::addGlob($pattern, $flags, $iterator)
* `$pattern` : glob 패턴입니다. 예를 들어, `*.txt`는 `.txt` 확장자를 가진 모든 파일을 찾습니다.
* `$flags` : glob 패턴의 플래그입니다. 예를 들어, `GLOB_BRACE`는 `{}`를 사용하여 여러 확장자를 찾을 수 있습니다.
* `$iterator` : glob 패턴의 결과를 반복할 수 있는 객체입니다. 예를 들어, `GLOB_NOSORT`는 결과를 정렬하지 않습니다.
# 예제
다음 예제는 `addGlob` 메소드를 사용하여 `.txt` 확장자를 가진 모든 파일을 압축합니다.
#hostingforum.kr
php
// 압축할 파일을 생성합니다.
$zip = new ZipArchive;
$zip->open('example.zip', ZipArchive::CREATE);
// glob 패턴을 사용하여 .txt 확장자를 가진 모든 파일을 찾습니다.
$zip->addGlob('*.txt', GLOB_BRACE);
// 압축을 완료합니다.
$zip->close();
# 예제 2
다음 예제는 `{*.txt, *.php}` glob 패턴을 사용하여 `.txt`와 `.php` 확장자를 가진 모든 파일을 압축합니다.
#hostingforum.kr
php
// 압축할 파일을 생성합니다.
$zip = new ZipArchive;
$zip->open('example.zip', ZipArchive::CREATE);
// glob 패턴을 사용하여 .txt와 .php 확장자를 가진 모든 파일을 찾습니다.
$zip->addGlob('{*.txt, *.php}', GLOB_BRACE);
// 압축을 완료합니다.
$zip->close();
# 예제 3
다음 예제는 `GLOB_NOSORT` 플래그를 사용하여 `.txt` 확장자를 가진 모든 파일을 압축합니다.
#hostingforum.kr
php
// 압축할 파일을 생성합니다.
$zip = new ZipArchive;
$zip->open('example.zip', ZipArchive::CREATE);
// glob 패턴을 사용하여 .txt 확장자를 가진 모든 파일을 찾습니다.
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.', RecursiveDirectoryIterator::SKIP_DOTS));
$files = array();
foreach ($iterator as $file) {
if (pathinfo($file, PATHINFO_EXTENSION) === 'txt') {
$files[] = $file->getPathname();
}
}
$zip->addGlob($files, GLOB_NOSORT);
// 압축을 완료합니다.
$zip->close();
# 참고
* `addGlob` 메소드는 glob 패턴을 사용하여 파일이나 디렉토리를 찾을 수 있습니다.
* `$flags` 플래그를 사용하여 glob 패턴의 결과를 반복할 수 있습니다.
* `$iterator` 객체를 사용하여 glob 패턴의 결과를 반복할 수 있습니다.
* `GLOB_BRACE` 플래그를 사용하여 `{}`를 사용하여 여러 확장자를 찾을 수 있습니다.
* `GLOB_NOSORT` 플래그를 사용하여 결과를 정렬하지 않습니다.
댓글목록
등록된 댓글이 없습니다.