2017-12-08 3 views
0

이 코드는 SQL 파일을 PHP의 zip 파일로 만드는 데 도움이됩니다.이 코드는 PHP를 사용하여 압축 할 SQL 파일을 압축합니다. 생성 된 zip 파일의 암호를 설정해야합니다.

여기서 SQL 파일은 zip 파일로 압축됩니다.

내가 필요한 것은 암호를 설정하는 것입니다.

PHP-java bridge를 사용하여이 문제를 해결할 수 있습니까?

function dumpOutput() { 
    if (!class_exists('ZipArchive')) { 
     return array(); 
    } 
    return array('zip' => 'ZIP'); 
} 

function _zip($string, $state) { 
    // ZIP can be created without temporary file by gzcompress - see PEAR File_Archive 
    $this->data .= $string; 
    if ($state & PHP_OUTPUT_HANDLER_END) { 
     $zip = new ZipArchive; 
     $zipFile = tempnam("", "zip"); 
     $zip->open($zipFile, ZipArchive::OVERWRITE); // php://output is not supported 
     $zip->addFromString($this->filename, $this->data); 
     $zip->close(); 
     $return = file_get_contents($zipFile); 
     unlink($zipFile); 
     return $return; 
    } 
    return ""; 
} 

답변

0

ZipArchive 클래스는 암호 설정을 지원하지 않는 것 같습니다. 암호로 보호 된 zip 파일을 열 때만 지원됩니다.

자세한 내용은 다음 페이지를 참조하십시오. http://php.net/manual/zh/ziparchive.setpassword.php

+0

나는 이것이 내가 일어날 수 있도록 PHP 자바 브리지를 사용할 수 있는지 여부를 묻는 이유입니다. – naresh

+0

ZipArchive :: setEncryptionName을 사용하여 PHP7.2의 솔루션을 보았습니다. PHP7.2의 프로덕션 환경을 가지고 있지 않습니다. 유효성을 확인하지 못해서 죄송합니다. – Phil