2012-05-02 4 views
0

몇 가지 기준을 선택하고 하나의 아카이브로만 선택하여 많은 사진을 서버에서 다운로드 할 수있게 해주는 어플리케이션이 필요합니다. 나는 PHP와 pclzip.lib 및 웹상에서 발견 된 zipstream 라이브러리를 사용했지만 두 가지 방법 중 어느 것도 작동하지 않았습니다. pclzip과 함께 나는 단지 3MB를 압축 할 수 있으며 다운로드 중간에 zipstream 라이브러리를 사용하면 25MB 크기로 실패합니다. 사용자가 얼마나 많은 아카이브를 다운로드해야하는지 알지 못하지만 이제는 약 700 개의 아카이브와 75MB가 있습니다. 이 응용 프로그램을 작동시키는 또 다른 방법이 있거나이 라이브러리와 비슷한 문제가있는 사람이 누구든지 그것을 해결하고 해결했습니다. 다음은 원격 서버 iis, php입니다.PHP를 사용하여 하나의 아카이브에 여러 아카이브를 다운로드하십시오.

if ($this->extension == 'zip') { 
    $this->archive = new PclZip($orgPath); 

    if ($this->archive->extract(PCLZIP_OPT_PATH, $newPath) == 0) { 
     die("Error : " . $this->archive->errorInfo(true)); 
    } 
} 

그러나 나는 당신의 문제가 아니라 생각 : 내 영어

답변

0

내가 사용했던 이전 pclzip이 코드에 대한 감사와 죄송 작동합니다. PHP를위한 RAM이 충분하지 않거나 시간이 충분하지 않은 것처럼 들립니다. 그 문제가 있다면

, 아파치에 나를 위해 작동

set_time_limit(0); // 0 = no time limit 
ini_set('memory_limit', '300M'); // Increases memory for PHP to 300M 

으로 문제를 해결할 수 있습니다 (I는 슈어 아니지만, 시스템에 대한 작업을 위해서는 ini_set합니까?) 내가 사용

+0

이'code'ini_set ('max_execution_time', 300); ini_set ("memory_limit", "100M"); 내 대본을 시작할 때. 내가 이걸로 시작했을 때 나는 메모리 부족 메시지를 보았지만 지금은이 오류 만 발생한다 : 내부 서버 오류가 발생하고 불완전한 zip 아카이브가 있기 때문에 페이지를 표시 할 수 없다. 왜? –

+0

디버깅을 위해 folowing 코드를 추가하려 했습니까? – waXve

+0

error_reporting (-1); ini_set ('display_errors', '1'); ini_set ("display_startup_errors", true); ini_set ("display_errors", true); – waXve

관련 문제