2014-10-22 1 views
1

jpg 파일에서 큰 zip 아카이브를 만들어야합니다. zip 생성은 64MB에서 중단됩니다. - 호스트에서 메모리 제한을 늘릴 방법이 없습니다. memory_limit이 낮은 큰 zip 파일을 만드는 방법은 무엇입니까?

난 압축 파일을 생성하는 많은 방법을 시도했지만 모두 실패 :

  • PHP의 ZipArchive 클래스입니다.
  • 간부 ("우편 -r file.zip의 *의 .JPG")
  • pclzip

어쩌면 스트림을 사용하여 zip 파일을 만들 수있는 또 다른 방법이있다 (옵션에 대신 메모리의 임시 파일을 생성하는)/메모리가 부족한 임시 파일에 영향을 미치지 않습니까? 스크립트에서 제안

+0

이 게시물을 읽었습니까? 도움이되고 오히려 포괄적으로 보입니다. http://stackoverflow.com/questions/4357073/on-the-fly-zipping-streaming-of-large-files-in-php-or-otherwise –

+0

@NickAllen 고마워, 나는 fopen 시도하고 또한 작동하지 않았다. . :(나는 서버에서도 PHP 자체 만이 아니라 기계 자체에 한계가 있다고 생각한다. – MilMike

답변

1

당신은하고 set_time_limit (초) 또는 위해서는 ini_set ('max_execution_time이라는'초)을 시도 할 수 있습니다에 대한

감사합니다.

당신은 그것은 30 초에 당신이 압축 매 10 개 파일을 max_execution_time이라는 재설정 유지합니다이

initialise your zip class 

foreach (files in the directory as $idx => $name) { 

    add $name to your zip file; 

    // every 10 files zipped, reset the max_execution_time 
    if ($idx > 0 && $idx % 10 == 0) { 
     set_time_limit (30); //if it doesnt work try to use ini_set('max_execution_time', 30); 
    } 
} 

뭔가를 시도 할 수 있습니다.

예를 들어 10 개의 파일을 사용했지만 평균 파일 크기에 따라 설정할 수 있습니다.

관련 문제