[php] PHP에서 ZIP 파일을 압축 해제한 후 파일 유형에 따라 처리하기

ZIP 파일을 PHP로 압축 해제하고 압축 해제된 파일들을 파일 유형에 따라 처리해야 하는 경우가 있습니다. 이를 위해 PHP 내장 함수를 사용하여 ZIP 파일을 압축 해제하고, 파일 확장자에 따라 각 파일을 처리할 수 있습니다.

ZIP 파일 압축 해제하기

우선, PHP에서 ZIP 파일을 압축 해제하는 방법을 알아보겠습니다. PHP에는 ZipArchive 클래스를 사용하여 ZIP 파일을 다룰 수 있습니다. 아래는 ZIP 파일을 압축 해제하는 예제 코드입니다.

$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
  $zip->extractTo('/path/to/extract/');
  $zip->close();
  echo '압축 해제 성공';
} else {
  echo '압축 해제 실패';
}

위 코드에서 example.zip는 압축을 해제할 ZIP 파일의 경로를 나타내며, /path/to/extract/는 압축을 해제할 디렉토리 경로를 나타냅니다.

파일 유형에 따라 처리하기

압축 해제된 파일들을 처리하기 전에, 각 파일의 유형을 확인하여 필요한 작업을 수행할 수 있습니다. 파일의 확장자를 확인하여 각 파일을 처리하는 예제 코드는 다음과 같습니다.

$dir = '/path/to/extract/';
$files = scandir($dir);
foreach ($files as $file) {
    if (pathinfo($file, PATHINFO_EXTENSION) === 'txt') {
        // .txt 파일 처리
        echo "$file 는 텍스트 파일입니다.\n";
    } elseif (pathinfo($file, PATHINFO_EXTENSION) === 'jpg') {
        // .jpg 파일 처리
        echo "$file 는 이미지 파일입니다.\n";
    } else {
        // 다른 유형의 파일 처리
        echo "$file 는 다른 유형의 파일입니다.\n";
    }
}

위 코드에서는 scandir() 함수를 사용하여 디렉토리 내의 파일 목록을 얻어오고, pathinfo() 함수를 사용하여 각 파일의 확장자를 확인하고 처리할 작업을 수행합니다.

이제 PHP에서 ZIP 파일을 압축 해제하고 파일 유형에 따라 처리하는 방법에 대해 알아보았습니다.

참고 자료