2009-12-02 3 views

답변

25

open bug report feature request on php.net에 따르면 현재로서는 불가능합니다.

+8

취소 선의 경우 – Drew

+1

아직보고있는 사람을 위해,이 기능은 아직 PHP 코어의 ZipArchive에서 구현되지 않은 것 같습니다 (2012 년 중반). 나는 [system()] (http://php.net/manual/en/function.system.php)과 "zip -rn .jpg : .gif : .png images images"를 사용할 계획이지만, 그렇지 않을 수도 있습니다. 모든 상황에 이상적입니다. – thirdender

+0

기능을 추가하거나 버그를 수정하는 것이 정말 어려운 것인지 궁금합니다. 며칠 내에 한 사람이이 일을 할 수 없습니까? –

7

이전 게시물에서 언급했듯이 Zip으로 할 수 없습니다. 압축 수준을 지정하면 보관 방법보다 더 중요한 경우 후 PHP의 ZLIB 그것을 할 수 있습니다 :

string gzcompress (string $data [, int $level = -1 ]) 

$ 수준 - 압축 수준. 최대 압축을 위해 9까지 압축하지 않을 경우 0으로 지정할 수 있습니다.

http://php.net/manual/en/book.zlib.php

2

은 사실이 아니다 가능 evenin 2014 그래서 난 리눅스에 대한 ZIP 명령으로 "간부"기능을 사용했다 :/재분배에 추가 것 같다

exec("cd \"".$the_directory_you want_to_zip."\" && zip -0 -r \"".$path_zip."\" ."); 
2

이 구현되었습니다하기 PHP 7의 파일 : ZipArchive::setCompressionNameZipArchive::setCompressionIndex. 검증되지 않은.

추신 : 전체 아카이브가 아닌 파일에 대해 개별적으로 설정하는 이유는 ZIP 보관 파일 내부의 파일이 실제로는 ZIP 파일이고 하나의 "마스터 ZIP 보관 파일"에 함께 붙어 있기 때문입니다.

관련 문제