
ZipArchive::extractTo 메소드의 두 번째 인자로 사용하는 디렉토리 경로에 대해 설명드리겠습니다.
extractTo 메소드는 디렉토리 경로에 이미 같은 이름의 파일이 존재하는 경우, 압축 해제한 파일이 기존 파일을 덮어씁니다. 예를 들어, 압축 해제할 파일이 "example.txt" 이고, 디렉토리 경로에 이미 "example.txt" 파일이 존재한다면, 압축 해제한 파일은 기존 파일을 덮어씁니다.
디렉토리 경로가 없을 경우, PHP는 디렉토리 경로를 자동으로 생성하지 않습니다. 이 경우, 디렉토리 경로를 생성하기 위해 mkdir 함수를 사용하거나, 디렉토리 경로를 생성하기 전에 디렉토리 경로를 생성하는 함수를 호출해야 합니다.
extractTo 메소드의 디렉토리 경로에 대한 옵션은 없습니다. 하지만, 디렉토리 경로를 생성하기 위해 mkdir 함수를 사용하거나, 디렉토리 경로를 생성하기 전에 디렉토리 경로를 생성하는 함수를 호출할 수 있습니다.
예를 들어, 압축 해제할 파일이 "example.zip" 이고, 디렉토리 경로가 없을 경우, 다음과 같이 디렉토리 경로를 생성하기 위해 mkdir 함수를 사용할 수 있습니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
$zip->extractTo('example');
$zip->close();
mkdir('example', 0777, true);
} else {
echo '파일을 열 수 없습니다.';
}
또는, 디렉토리 경로를 생성하기 전에 디렉토리 경로를 생성하는 함수를 호출할 수 있습니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
$zip->extractTo('example');
$zip->close();
if (!file_exists('example')) {
mkdir('example', 0777, true);
}
} else {
echo '파일을 열 수 없습니다.';
}
2025-07-20 21:20