[php] ZIP 파일을 PHP에서 압축 풀기
ZIP 파일 업로드
우선, 웹 애플리케이션에서 사용자가 ZIP 파일을 업로드할 수 있도록 HTML 폼을 만들어야 합니다. 이 폼은 enctype="multipart/form-data"
속성을 가지고 있어야 합니다. 사용자가 업로드할 파일을 처리하기 위해 PHP를 사용할 것이므로, 폼의 action
속성은 파일을 처리할 PHP 스크립트의 경로로 설정해야 합니다.
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="압축 푸기">
</form>
ZIP 파일 압축 풀기
다음으로, upload.php
파일에 ZIP 파일을 압축 해제하는 PHP 코드를 작성해 보겠습니다. 먼저 업로드된 ZIP 파일을 저장하고 압축을 푸는 과정을 다음과 같은 순서로 만들어야 합니다.
- 업로드된 파일 저장
- ZIP 파일 압축 해제
- 압축 해제된 파일 처리
간단한 예제를 보여드리겠습니다. 우선, upload.php
파일에 아래와 같은 코드를 추가하세요.
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
$zip = new ZipArchive;
$res = $zip->open($target_file);
if ($res === TRUE) {
$zip->extractTo("uploads/");
$zip->close();
echo "ZIP 파일이 압축 해제되었습니다.";
} else {
echo "ZIP 파일을 열 수 없습니다.";
}
} else {
echo "파일 업로드 중에 오류가 발생했습니다.";
}
?>
위의 코드는 업로드된 파일을 지정된 디렉토리에 저장하고, 그 파일을 ZIP으로 압축 해제합니다. 압축을 푼 파일들은 “uploads/” 디렉토리에 저장됩니다.
이제, 당신은 업로드한 ZIP 파일을 PHP로 성공적으로 압축 해제할 수 있게 되었습니다.