2010-04-16 40 views
0

使用此代碼來壓縮文件夾和它的作品完美的小文件,如18-20 MB,但是當涉及到文件,如80-90 MB它只是不工作,問題上荏苒大文件

我雖然與php內存設置有關但不確定,

$zipfile = new zipfile(); 
$folder = "path/to/folder"; 
if (is_dir($folder)) { 
if($dir = opendir ($folder)) { 
     while (false !== ($file = readdir($dir))) { 
     if($file != ".") { 
     if($file != "..") { 
      $zipfile -> addFile(file_get_contents($folder."/".$file), $file); 
      } 
      } 
     } 

     closedir($dir); 
$contents = $zipfile -> file(); 
file_put_contents($f, $contents); 
} 
} 

有什麼建議嗎?

thx

+0

你怎麼執行這個代碼?網頁或PHP命令行?也許它在你的PHP配置中與max_execution_time有關? – 2010-04-16 13:08:11

+0

我正在執行此代碼ajax,並在我的PHP設置max_execution_time設置爲3600 – 2010-04-16 13:10:30

+0

,但在腳本我已經設置set_time_limit(0); – 2010-04-16 13:14:12

回答

1

這聽起來像是一個腳本超時問題。超時限制由您的php.ini文件中的max_execution_time變量設置,但您也可以通過腳本更改腳本的超時值。將腳本執行限制設置爲60秒;

set_time_limit(60); 

欲瞭解更多信息,結賬PHP文檔 - http://php.net/manual/en/function.set-time-limit.php

+0

它被設置爲3600在php ini – 2010-04-16 13:11:03

+0

和我設置set_time_limit(0);在腳本 – 2010-04-16 13:12:16

+0

好吧,我現在工作thx – 2010-04-16 13:18:08