[php] PHP에서 ZIP 파일을 만들어 원격 서버에 업로드하기
이번 포스팅에서는 PHP를 사용하여 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
클래스를 사용하여 example.zip
이라는 이름으로 ZIP 파일을 생성하고, file1.txt
와 file2.txt
를 압축했습니다.
원격 서버에 업로드
생성된 ZIP 파일을 원격 서버로 업로드하기 위해서는 FTP나 SSH 등의 프로토콜을 사용할 수 있습니다. 이를 위해서 서버 연결 정보와 인증 정보가 필요합니다. 아래는 FTP를 사용하여 원격 서버로 파일을 업로드하는 예제 코드입니다.
<?php
$ftpServer = 'ftp.example.com';
$ftpUsername = 'username';
$ftpPassword = 'password';
$localFile = 'example.zip';
$remoteFile = 'upload/example.zip';
$conn = ftp_connect($ftpServer);
$login = ftp_login($conn, $ftpUsername, $ftpPassword);
if ($conn && $login) {
ftp_put($conn, $remoteFile, $localFile, FTP_BINARY);
echo '파일이 성공적으로 업로드되었습니다.';
} else {
echo '업로드에 실패했습니다.';
}
ftp_close($conn);
?>
위 코드에서는 ftp_connect
, ftp_login
, ftp_put
함수를 사용하여 FTP를 통해 파일을 업로드했습니다.
이제 PHP를 사용하여 ZIP 파일을 생성하고 원격 서버로 업로드하는 방법에 대해 알아보았습니다. 각자의 환경에 맞게 서버 연결 정보와 파일 경로를 설정하여 사용해보시기 바랍니다.