현재 위치: > 최신 기사 목록> php ziparchive를 사용하여 압축 패키지에 데이터베이스 백업을 구현하는 방법

php ziparchive를 사용하여 압축 패키지에 데이터베이스 백업을 구현하는 방법

M66 2025-07-30

PHP Ziparchive에서 압축 패키지에서 파일의 데이터베이스 백업 기능을 구현하는 방법

웹 응용 프로그램의 개발 및 유지 관리에서 데이터베이스의 정기적 인 백업은 데이터 보안을 보장하는 데 중요한 작업입니다. 압축 패키지에 데이터베이스 백업 파일을 포장하면 저장 공간을 효과적으로 저장할 수있을뿐만 아니라 관리를 용이하게 할 수 있습니다. PHP의 ziparchive 클래스는 .zip 형식 압축 패키지를 처리하는 간단하고 강력한 방법을 제공합니다. 이 기사에서는 PHP Ziparchive 클래스를 통해 데이터베이스 백업을 .zip 파일로 압축하는 방법을 자세히 소개합니다.

PHP ZIP 확장을 활성화합니다

ziparchive 클래스를 사용하기 전에 먼저 PHP가 ZIP 확장을 활성화해야합니다. php.ini 파일에서 다음 구성 항목을 찾고 활성화하십시오.

 <span class="fun">확장자 = zip</span>

압축 패키지를 생성하고 엽니 다

ziparchive 인스턴스를 생성하고 새로운 Zippack 파일을 여는 데 사용해야합니다. 관련 코드 예는 다음과 같습니다.

 <span class="fun">$ Zip = New ZipACHIVE ();</span>
 <span class="fun">$ ZipName = &#39;backup_&#39;. 날짜 ( &#39;ym-d_h-is&#39;). &#39;.지퍼&#39;;</span>
 <span class="fun">if ($ Zip-> Open ($ ZipName, ZipAncive :: Create | ZipArchive :: Overwrite) === true) {</span>
 <span class="fun">// 데이터베이스 백업 파일을 추가하려는 코드가 여기에 배치됩니다.</span>
 <span class="fun">$ zip-> close ();</span>
 <span class="fun">} 또 다른 {</span>
 <span class="fun">종료 ( &#39;지핑 패키지 파일을 열 수 없음);</span>

이 코드에서는 PHP의`date ()`함수를 사용하여 현재 날짜와 시간에 따라 동적 파일 이름을 생성하고 Ziparchive 오프닝 모드를`ziparchive :: create |로 설정합니다. ziparchive :: ourwrite`는 파일이 이미 존재하면 덮어 쓰기입니다.

데이터베이스를 백업하고 압축 패키지에 추가하십시오.

다음으로 데이터베이스 백업 파일을 ZIPPER 패키지에 추가합니다. MySQL을 예로 들어, 'MySQLDump` 명령을 사용하여 데이터베이스 백업을 수행하고 .zip 파일에 백업 파일을 추가합니다.

 <span class="fun">$ dbhost = &#39;localhost&#39;;</span>
 <span class="fun">$ dbusername = &#39;username&#39;;</span>
 <span class="fun">$ dbpassword = &#39;비밀번호&#39;;</span>
 <span class="fun">$ dbname = &#39;database_name&#39;;</span>
 <span class="fun">$ backupfile = &#39;database_backup.sql&#39;;</span>
 <span class="fun">$ command = "mysqldump ---single-transaction-host = $ dbhost --user = $ dbusername-password = $ dbpassword $ dbname> $ backupfile";</span>
 <span class="fun">시스템 ($ command);</span>
 <span class="fun">$ zip-> addfile ($ backupfile);</span>

위의 코드를 통해 MySQL 데이터베이스를`mysqldump` 명령을 통해 SQL 파일로 백업 한 다음 백업 파일을 생성 된 압축 패키지에 추가합니다. `addfile ()`메소드를 호출하기 전에 백업 파일이 존재해야합니다.

지퍼 패키지를 닫고 임시 파일을 청소하십시오

파일이 추가되면 zip 패키지 파일을 닫고 임시 백업 파일을 삭제해야합니다. 다음은 관련 코드입니다.

 <span class="fun">$ zip-> close ();</span>
 <span class="fun">Unlink ($ backupfile);</span>
 <span class="fun">Echo &#39;데이터베이스 백업이 성공적이었습니다! &#39;;;</span>

이 코드에서는 먼저 Zip 패키지를 닫은 다음`Unlink ()`함수를 사용하여 로컬 백업 파일을 Zip 패키지에 성공적으로 추가했기 때문에 로컬 백업 파일을 삭제했습니다.

완전한 코드 예제

다음은 데이터베이스 백업을 구현하고 .zip 파일로 압축하는 방법을 보여주는 완전한 코드 예제입니다.

 <span class="fun">$ Zip = New ZipACHIVE ();</span>
 <span class="fun">$ ZipName = &#39;backup_&#39;. 날짜 ( &#39;ym-d_h-is&#39;). &#39;.지퍼&#39;;</span>
 <span class="fun">if ($ Zip-> Open ($ ZipName, ZipAncive :: Create | ZipArchive :: Overwrite) === true) {</span>
 <span class="fun">$ dbhost = &#39;localhost&#39;;</span>
 <span class="fun">$ dbusername = &#39;username&#39;;</span>
 <span class="fun">$ dbpassword = &#39;비밀번호&#39;;</span>
 <span class="fun">$ dbname = &#39;database_name&#39;;</span>
 <span class="fun">$ backupfile = &#39;database_backup.sql&#39;;</span>
 <span class="fun">$ command = "mysqldump ---single-transaction-host = $ dbhost --user = $ dbusername-password = $ dbpassword $ dbname> $ backupfile";</span>
 <span class="fun">시스템 ($ command);</span>
 <span class="fun">$ zip-> addfile ($ backupfile);</span>
 <span class="fun">$ zip-> close ();</span>
 <span class="fun">Unlink ($ backupfile);</span>
 <span class="fun">Echo &#39;데이터베이스 백업이 성공적이었습니다! &#39;;;</span>

요약

위의 코드를 사용하면 PHP Ziparchive 클래스를 사용하여 데이터베이스 백업 파일을 .zip 파일로 쉽게 압축 할 수 있습니다. 이 접근 방식은 백업 프로세스를 단순화 할뿐만 아니라 백업 파일의 관리 및 저장을보다 효율적으로 만듭니다. 다른 데이터베이스 및 백업 요구 사항에 적응 해야하는 요구에 따라 코드를 수정하고 조정할 수 있습니다.