[php] PHP에서 ZIP 파일을 생성한 후 다른 서버에 전송하기

이번 기술 블로그에서는 PHP를 사용하여 ZIP 파일을 생성하고, 생성된 ZIP 파일을 다른 서버로 전송하는 방법에 대해 알아보겠습니다.

ZIP 파일 생성하기

PHP에서 ZIP 파일을 생성하기 위해서는 ZipArchive 클래스를 사용합니다. 아래는 간단한 예제 코드입니다.

<?php
$zip = new ZipArchive;
$zipFileName = 'example.zip';

if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
  $zip->addFile('file1.txt', 'file1.txt');
  $zip->addFile('file2.txt', 'file2.txt');
  $zip->close();
  echo 'ZIP 파일이 생성되었습니다.';
} else {
  echo 'ZIP 파일을 생성하는데 실패했습니다.';
}

위의 예제 코드에서는 ZipArchive 클래스를 사용하여 file1.txtfile2.txtexample.zip 파일로 압축하는 방법을 보여줍니다.

다른 서버로 ZIP 파일 전송하기

생성된 ZIP 파일을 다른 서버로 전송하기 위해서는 PHP의 cURL을 사용할 수 있습니다. 아래는 간단한 예제 코드입니다.

<?php
$zipFile = 'example.zip';
$remoteUrl = 'http://example.com/upload.php';

$ch = curl_init($remoteUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, ['file' => new CurlFile($zipFile)]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

echo $response;

위의 예제 코드에서는 cURL을 사용하여 example.zip 파일을 http://example.com/upload.php로 POST 방식으로 전송하는 방법을 보여줍니다.

이제 PHP를 사용하여 ZIP 파일을 생성하고, 다른 서버로 전송하는 방법에 대해 알아보았습니다. 원하는 서버로 파일을 전송할 때는 적절한 권한과 보안을 고려하여 코드를 작성해야 합니다.

참고 자료