使用php下载一个存档中的服务器的许多存档

时间:2012-05-02 20:16:02

标签: php compression zip pclzip

我需要做一个应用程序,让用户在服务器中下载大量图片,选择一些标准,只在一个档案中。我尝试使用php和pclzip.lib以及在web上找到的zipstream库,但这两种方法都不起作用。使用pclzip我只能压缩3Mb并且在下载过程中使用zipstream库它会失败,大小为25MB。我不知道用户需要下载多少档案,但现在我有大约700个档案和75MB。有没有其他方法可以使这个应用程序工作或任何人有这个库的类似问题并解决它。这里有一些更多的规范:远程服务器iis,php。谢谢,对不起我的英文

2 个答案:

答案 0 :(得分:1)

一段时间后,我找到了使用方法

 ini_set('max_execution_time', 1200);
 ini_set("memory_limit","500M");

还有图书馆ZipStream。另外,我更改了 PHP 服务器中的 PHP 内存限制,因为我的文件非常大。

答案 1 :(得分:0)

之前我使用过pclzip,这段代码可以运行:

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

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

但我认为这不是你的问题。对于PHP来说,这听起来不够RAM或者时间不够。

如果这是您的问题,可以使用

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

这适用于我的Apache(我不是很好,但是你的系统上的ini_set工作了吗?)