2012-03-01 2 views
3

다시 압축하지 않고 JPG 파일을 ZIP 보관함에 추가하는 방법이 있습니까? 이상한 소리.압축하지 않고 ZIP 보관 파일을 만드시겠습니까?

PHP를 통해 ZIP 파일을 만드는 것은 CPU를 많이 사용합니다. ZIP을 사용하지 않고도 많은 CPU를 사용합니다. 아카이브에만 이미지 (JPG)를 추가하려는 경우 왜 JPG가 압축되었을 때 다시 압축해야합니까?

ZIP 보관소의 모든 파일은 원본 파일과 다른 형식 (압축)이 있어야하지만 압축 해제없이 모든 파일 앞에 일부 헤더 만 설정하고 복사 할 수있는 방법이 있다는 것을 알고 있습니다. ZIP 자료실에 보관 된 자료.

없음이되지 않습니다 : 당신이 php 태그했기 때문에

+4

지퍼 여야합니까? [tarball] (http://en.wikipedia.org/wiki/Tar_ (file_format))은 압축하지 않고 보관하는 데 이상적이기 때문에 ... [PEAR] (http : //pear.php. net/package/Archive_Tar) – DaveRandom

+0

JPEG 이미지는 ZIP 파일로 두 번 압축되지만 다른 종류의 압축이지만 데이터가 손실되지 않습니다. 또한 @DaveRandom에 동의합니다. 여기서 tarballs는 좋은 아이디어입니다. – Andrea

+0

감사합니다. 내가 체크 아웃 할 타르 볼. – Mike

답변

6

, 나는 귀하의 질문에 대답이없는 경우에 PHP 지퍼 확장, 적용이라고 가정합니다.

PHP zip 확장 does not currently allow you to set the compression method. (이 버그는 몇 년 동안 열려 있었고 아직 2012 년 1 월 현재로 해결되지 않았습니다.)

+2

2017 년 현재 모두 괜찮습니다! 그냥 $ zip-> setCompressionIndex ($ ix, ZipArchive :: CM_STORE)를 사용하십시오; – Teson

+1

@ user247245 PHP 7에서만 사용할 수 있습니다. –

+0

'addGlob()'을 사용하여 압축 수준을 어떻게 설정합니까? – Mirko

3

ZipArchive는 이것을 허용하지 않습니다 (확장 기능이 php.net 설명서에 완전히 설명되어 있지는 않지만 알고 있습니다).

그러나 PCLZip 라이브러리는 파일을 압축에 추가 할 때 PCLZIP_OPT_NO_COMPRESSION 인수를 허용합니다.

관련 문제