[php] PHP에서 ZIP 파일을 생성한 후 FTP로 업로드하기
이번에는 PHP를 사용하여 파일을 압축하고 FTP를 사용하여 압축 파일을 원격 서버로 업로드하는 방법에 대해 알아보겠습니다.
1. 파일을 ZIP으로 압축하기
PHP에서는 ZipArchive
클래스를 사용하여 파일을 ZIP으로 압축할 수 있습니다. 아래는 간단한 예제 코드입니다.
<?php
$zip = new ZipArchive();
$zipFileName = 'files.zip';
if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
$files = glob('path/to/files/*');
foreach ($files as $file) {
$zip->addFile($file, basename($file));
}
$zip->close();
echo 'ZIP 파일이 생성되었습니다.';
} else {
echo 'ZIP 파일을 생성하지 못했습니다.';
}
위 코드는 ZipArchive
를 사용하여 지정된 디렉토리의 파일을 압축하여 files.zip
으로 저장합니다.
2. FTP를 사용하여 파일 업로드하기
압축된 ZIP 파일을 FTP를 통해 원격 서버로 업로드할 수 있습니다. 아래는 FTP를 사용하여 파일을 업로드하는 방법입니다.
<?php
$ftpServer = 'ftp.example.com';
$ftpUsername = 'username';
$ftpPassword = 'password';
$remoteFile = 'files.zip';
$localFile = 'files.zip';
// 연결 설정
$connId = ftp_connect($ftpServer);
$loginResult = ftp_login($connId, $ftpUsername, $ftpPassword);
// 파일 업로드
if (ftp_put($connId, $remoteFile, $localFile, FTP_BINARY)) {
echo '파일이 성공적으로 업로드되었습니다.';
} else {
echo '파일을 업로드하지 못했습니다.';
}
// 연결 종료
ftp_close($connId);
위 코드는 ftp_connect
를 사용하여 FTP 서버에 연결하고, ftp_login
으로 인증을 수행한 후, ftp_put
을 사용하여 파일을 업로드합니다.
이제 위의 두 과정을 결합하여 파일 압축 및 FTP 업로드를 수행할 수 있습니다. 이것으로 PHP에서 ZIP 파일을 생성하고 FTP로 업로드하는 방법에 대해 알아보았습니다.